setOnItemClickListener reagiert nicht für Custom ListView
Schrieb ich eine benutzerdefinierte Adapter für eine listview ,aber wenn ich versuchte, Sie umzusetzen click-Ereignis für die Liste posten ,ich gefunden, dass es nicht mehr reagiert ,ich bin froh, wenn jemand mir empfehlen eine Lösung.
public class TourList extends ListActivity {
....
setContentView(R.layout.tourlist);
.....
getListView().setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
//i couldn't reach here
Log.v(TAG,"did u get me");
}
});
adap = new MyAdapter(TourList.this,mylist);
getListView().setAdapter(adap);
und meine benutzerdefinierte adapter ist
private class MyAdapter extends BaseAdapter {
ArrayList<HashMap<String,String>> elements;
Context ctx;
public MyAdapter(Context context, ArrayList<HashMap<String,String>> mylist) {
this.elements=mylist;
this.ctx=context;
}
public boolean isEnabled(int position){
return true;
}
@Override
public int getCount() {
return elements.size();
}
@Override
public Object getItem(int position) {
return elements.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (convertView == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.rowfor_tourlist, null);
}
TextView in = (TextView)v.findViewById(R.id.intro);
TextView du = (TextView)v.findViewById(R.id.duration);
TextView pf = (TextView)v.findViewById(R.id.price);
TextView pn = (TextView)v.findViewById(R.id.product);
WebView wv=(WebView)v.findViewById(R.id.photo);
in.setText(Html.fromHtml(mylist.get(position).get("Intro")));
du.setText(mylist.get(position).get("Duration"));
pf.setText(mylist.get(position).get("Price"));
pn.setText(mylist.get(position).get("Product"));
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl(mylist.get(position).get("ImageURL"));
return v;
}
}//class
und meine tourlist.xml Datei sieht aus wie
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
....
>
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/white"
android:cacheColorHint="#00000000"
android:layout_weight="1"
/>
</...>
InformationsquelleAutor ganesh | 2010-04-29
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehen, wenn diese Diskussion hilft...
Die Frage ist wirklich einfach.
Kann man nicht nennen setOnItemClickListener vor setAdapter nennen, weil ListView stützt sich auf seine Kinder und seine Kinder, sind unbekannt, bis Sie setzen Sie den adapter.
So einfach wie diese:
In dieser Weise haben Sie Ihre Veranstaltung zum laufen zu bringen !
Sorry, aber ich habe keine Zeit zu gehen, im detail, in der Android-Quellcode, wenn ich will, werde ich wieder buchen.
Bye Jungs,
Alex