ورود

View Full Version : مشکل با @override



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 میده
چطور میتونم این مشکل رو حل کنم؟

lastcoder
پنج شنبه 16 بهمن 1393, 18:18 عصر
به جای getView بنویسید super.getView ببینید درست میشه؟

zarabela
پنج شنبه 16 بهمن 1393, 18:32 عصر
به جای getView بنویسید super.getView ببینید درست میشه؟

نمیشه این ارور رو میده:
Syntax error on token "getView", Identifier expected after this token

smemamian
پنج شنبه 16 بهمن 1393, 18:33 عصر
سلام و درود

خب تابع getView برای Activity تعریف نشده است، اگر می خواهید از ListView استفاده کنید باید از از یک نوع Adapter استفاده کنید.
در ضمن من ListView ندیدم...

zarabela
پنج شنبه 16 بهمن 1393, 21:24 عصر
سلام و درود

خب تابع getView برای Activity تعریف نشده است، اگر می خواهید از ListView استفاده کنید باید از از یک نوع Adapter استفاده کنید.
در ضمن من ListView ندیدم...

خیلی خیلی ممنونم از راهنماییتون کد رو بصورت زیر نوشتم مشل اشتراک گذاری رفع شد فقط یه مشکل هست وقتی داخل EditText چیزی تایپ میکنم Force Close میده
public class Search extends ListActivity {
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(android.R.id.list);
inputsearch=(EditText)findViewById(R.id.searchBox) ;

setListAdapter(new adapter(this, R.layout.list_items,R.id.list_Txt, products));
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());
}
});


}

private class adapter extends ArrayAdapter<String>{

public adapter(Context context, int resource, int textViewResourceId,
String[] objects) {
super(context, resource, textViewResourceId, objects);
// TODO Auto-generated constructor stub
}


@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
share(tv);
}
});

return row;
}

}

}

zarabela
جمعه 17 بهمن 1393, 10:36 صبح
کسی نیست راهنماییم کنه؟؟؟؟؟؟:ناراحت: