Wie kann ich onClickListener auf ArrayAdapter setzen?

Ich mache Klasse wie unten

// All necessary imports are here public class More extends Activity { String[] MoreItems = { "Transfers", "Budgets", "Branches", "Tools", "News", "Customer Service", "Settings", "Help", "About" }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.more_view); ListView moreListView = (ListView) findViewById(R.id.moreListView); MoreListAdapter listAdapter = new MoreListAdapter(); moreListView.setAdapter(listAdapter); // accountsTypeListView.setOnItemClickListener(listClickListner); } class MoreListAdapter extends ArrayAdapter<String> { MoreListAdapter() { super(More.this, R.layout.list_item, MoreItems); } public View getView(int position, View convertView, ViewGroup parent) { View row; if (convertView == null) { LayoutInflater inflater = getLayoutInflater(); row = inflater.inflate(R.layout.list_item, parent, false); } else { row = convertView; } TextView tv = (TextView) row.findViewById(R.id.textItem); tv.setText(getItem(position)); return row; } } } 

Es wird die Liste generieren, ich möchte die entsprechenden Aktivitäten auf den jeweiligen Klick aufrufen, wie wenn der Benutzer auf die Übertragung klicken wird, dann wird die Übertragung angezeigt. Aktivität, Wie kann ich onClickListener auf dieser Liste aufrufen und wie kann ich die Aktivität bei Klick starten.

  • Android Coverflow Problem auf 4.0.3 Samsung Galaxy S2
  • Wie kann ich meinen eigenen Android-Store-Store erstellen?
  • NullPointerException in WindowManagerImpl auf Android OS 3.2
  • Menüpunkte sollten einen Titel angeben
  • Hinzufügen von Header zu allen Anfragen mit Retrofit 2
  • Android Broadcast Receiver bluetooth Ereignisse fangen
  • Benachrichtigung verlässt alte Absicht Extras
  • Unterstützt Android-Plattform SpatiaLite?
  • Der Import com.google.android.vending kann nicht in einem importierten Android-Projekt behoben werden
  • Finden Sie heraus, ob die aktuelle Aktivität wird Aufgabe Wurzel schließlich, nach dem Ausstehen Finishing-Aktivitäten sind verschwunden
  • Rendering-Probleme Ausnahme beim Rendering: com.android.ide.common.rendering.api.LayoutlibCallback
  • WebView in ScrollView: "Zu groß, um in den Zeichnungscache zu passen" - wie man das Layout überarbeitet?
  • 4 Solutions collect form web for “Wie kann ich onClickListener auf ArrayAdapter setzen?”

    Das kannst du auch so machen

     moreListView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Log.d("############","Items " + MoreItems[arg2] ); } }); 

    Es gibt zwei Möglichkeiten, um Klickereignis für jede Zeile zu behandeln.

    1) Wenn deine Klasse ListActivity , kannst du folgende Methode überschreiben.

     @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); //do something here using the position in the array } 

    2) Handle Klick Ereignis der Zeile in getView() -Methode

     row.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); 

    Beispielsweise:

      ListView lv = getListView(); lv.setAdapter(listAdapter); lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view,int position, long id) { Intent i = new Intent(More.this, NextActvity.class); //If you wanna send any data to nextActicity.class you can use i.putExtra(String key, value.get(position)); startActivity(i); } }); 

    Ihre "Mehr" -Klasse muss ListActivity anstelle von Aktivität erweitern, dann können Sie onListItemClick überschreiben

     @Override protected void onListItemClick(ListView l, View v, int position, long id) { super.onListItemClick(l, v, position, id); //do something here using the position in the arrya } 

    Bearbeiten: Vergessen zu sagen, in deinem Layout muss deine ListView aufgerufen werden: android: id = "@ android: id / list"

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.