zarabela
پنج شنبه 16 بهمن 1393, 17:47 عصر
سلام
من با کد زیر یه لیست با اقبلیت جستجو ساختم که میخوام با کلیک روی آیکون share اون رو اشتراک گذاری کنم :
public class Search extends Activity {
private ListView lv;
ArrayAdapter<String> adapter;
EditText inputsearch;
ArrayList<HashMap<String, String>> productlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
String products[]=getResources().getStringArray(R.array.all_items);
lv=(ListView)findViewById(R.id.listView1);
inputsearch=(EditText)findViewById(R.id.searchBox) ;
adapter=new ArrayAdapter<String>(this, R.layout.list_items,
R.id.list_Txt, products);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
inputsearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
adapter.getFilter().filter(s.toString());
}
});
}
@Override
public View getView(final int position,View convertView,ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater)getSystemService(Context. LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.list_items, parent, false);
final String[] items=getResources().getStringArray(R.array.all_it ems);
//SHARE**************
ImageView iv_share=(ImageView)row.findViewById(R.id.share_Bt n);
final TextView tv=(TextView)row.findViewById(R.id.list_Txt);
tv.setText(items[position]);
iv_share.setOnClickListener(new OnClickListener() {
public void share(View v){
Intent share=new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
String my_string=items[position];
share.putExtra(Intent.EXTRA_TEXT, my_string);
startActivity(Intent.createChooser(share, "Share via..."));
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (position) {
case 0:share(tv);break;
default:
break;
}
}
});
return row;
}
}
ولی این قسمت رو ارور میده :
getView(final int position,View convertView,ViewGroup parent)
ارورش هم اینه : The method getView(int, View, ViewGroup) of type Search must override or implement a supertype method
وقتی هم @override رو حذف میکنم موقع اجرا force close میده
چطور میتونم این مشکل رو حل کنم؟
من با کد زیر یه لیست با اقبلیت جستجو ساختم که میخوام با کلیک روی آیکون share اون رو اشتراک گذاری کنم :
public class Search extends Activity {
private ListView lv;
ArrayAdapter<String> adapter;
EditText inputsearch;
ArrayList<HashMap<String, String>> productlist;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.search);
String products[]=getResources().getStringArray(R.array.all_items);
lv=(ListView)findViewById(R.id.listView1);
inputsearch=(EditText)findViewById(R.id.searchBox) ;
adapter=new ArrayAdapter<String>(this, R.layout.list_items,
R.id.list_Txt, products);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
inputsearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
adapter.getFilter().filter(s.toString());
}
});
}
@Override
public View getView(final int position,View convertView,ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater)getSystemService(Context. LAYOUT_INFLATER_SERVICE);
View row=inflater.inflate(R.layout.list_items, parent, false);
final String[] items=getResources().getStringArray(R.array.all_it ems);
//SHARE**************
ImageView iv_share=(ImageView)row.findViewById(R.id.share_Bt n);
final TextView tv=(TextView)row.findViewById(R.id.list_Txt);
tv.setText(items[position]);
iv_share.setOnClickListener(new OnClickListener() {
public void share(View v){
Intent share=new Intent(Intent.ACTION_SEND);
share.setType("text/plain");
String my_string=items[position];
share.putExtra(Intent.EXTRA_TEXT, my_string);
startActivity(Intent.createChooser(share, "Share via..."));
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (position) {
case 0:share(tv);break;
default:
break;
}
}
});
return row;
}
}
ولی این قسمت رو ارور میده :
getView(final int position,View convertView,ViewGroup parent)
ارورش هم اینه : The method getView(int, View, ViewGroup) of type Search must override or implement a supertype method
وقتی هم @override رو حذف میکنم موقع اجرا force close میده
چطور میتونم این مشکل رو حل کنم؟