کلیدستان

نسخه‌ی کامل: ۳ عدد خطای ناقابل!!!
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام دوستان!

من یک Custom ListView دارم که در هر آیتم اون ۳ تا دکمه (لایک , کپی , اشتراک) و یک TextView هست.

- من میخوام با زدن روی دکمه copy ، متن داخل textview در حافظه کپی بشه و
- با زدن روی دکمه اشتراک ، متن داخل textview برای اشتراک فرستاده بشه.

کدهاش رو از اینترنت گیر آوردم ولی متاسفانه ۳ تا خطا داره!!!

آیا میتونید این ۳ تا خطا رو برطرف کنید؟

سورس پروژه در ضمیمه هست

لطفا دانلود کنید و اگر بلد هستید کمکم کنید...

چند روزه درگیرشم ولی نتونستم حلش کنم!!!

Blush
کدها به شرح زیر هستند:

main.xml
لایه اصلی
کد:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="top|center">

<ListView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/listview1"
android:background="#FFFFFF"/>

</LinearLayout>




clv.xml
لایه ای که در هر ایتم  ListView  قرار میگیرد
کد:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center">

<TextView
android:id="@+id/textview1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:textStyle="bold"
android:layout_margin="10dp"
android:text="textview1"/>

<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_margin="10dp">

<Button
android:id="@+id/b_like"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_like"
android:text="like"/>

<Button
android:id="@+id/b_share"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_share"
android:text="share"/>

<Button
android:id="@+id/b_copy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/b_copy"
android:text="copy"/>

</LinearLayout>

</LinearLayout>



MainActivity.java
کلاس اصلی
کد:
package com.reza.latifeha;



import android.app.*;
import android.content.*;
import android.database.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import java.io.*;
import java.util.*;

public class MainActivity extends Activity
{

public ProgressDialog mProgressDialog;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);


ArrayList<String> list = new ArrayList<String>();


list.add("item1");
list.add("item2");
list.add("item3");
list.add("item4");
list.add("item5");


MyCustomAdapter adapter = new MyCustomAdapter(list, this);

ListView lView = (ListView)findViewById(R.id.listview1);
lView.setAdapter(adapter);

}  

}


۳خطا در کلاس زیر است:
در خطوط ۸۹ و ۱۰۵
MyCustomAdapter.java
کد:
package com.reza.latifeha;

import android.annotation.*;
import android.content.*;
import android.view.*;
import android.widget.*;
import java.util.*;


public class MyCustomAdapter extends BaseAdapter implements ListAdapter
{
private ArrayList<String> list = new ArrayList<String>();
private Context context;



public MyCustomAdapter(ArrayList<String> list, Context context) {
this.list = list;
this.context = context;
}

@Override
public int getCount() {
return list.size();
}

@Override
public Object getItem(int pos) {
return list.get(pos);
}

@Override
public long getItemId(int pos) {
return list.size();
//just return 0 if your list items do not have an Id variable.

}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.clv, null);
}

//Handle TextView and display string from your list
final TextView textview1 = (TextView)view.findViewById(R.id.textview1);
textview1.setText(list.get(position));

//Handle buttons and add onClickListeners
final Button b_like = (Button)view.findViewById(R.id.b_like);
final Button b_share = (Button)view.findViewById(R.id.b_share);
final Button b_copy = (Button)view.findViewById(R.id.b_copy);



b_like.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {

// finish();

b_like.setText("k");      

// list.remove(position);
// notifyDataSetChanged();
}

});


b_share.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {


Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT, textview1.getText().toString());
shareIntent.putExtra(Intent.EXTRA_SUBJECT, "");
startActivity(Intent.createChooser(shareIntent, "Share Text"));


}
});



b_copy.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View arg0) {

Co1pyrith();
}

@SuppressLint("NewApi")
public void Co1pyrith () {
// TODO Auto-generated method stub
String cop_txt = textview1.getText().toString();
int startmsg = textview1.getSelectionStart();
int endmsg = textview1.getSelectionEnd();
String copymsg = cop_txt.substring(startmsg, endmsg);
ClipboardManager clipb = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipb.setText(cop_txt);



}

});




return view;
}

}
با آوردن MyCustomAdapter داخل MainActivity ارورها برطرف میشه.