Bagaimana cara mengatur onClickListener pada ArrayAdapter?
Saya membuat kelas seperti di bawah ini
// 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;
}
}
}
Ini akan menghasilkan Daftar, saya ingin memanggil masing-masing aktivitas pada masing-masing klik, seperti jika Pengguna mengklik Transfer maka akan menampilkan Aktivitas transfer, Bagaimana saya bisa memanggil onClickListener pada daftar ini dan bagaimana saya bisa memulai Activity saat diklik.
46
3
Anda juga bisa melakukan seperti ini ..
Ada dua opsi untuk menangani event klik untuk setiap baris.
ListActivity
, Anda dapat menimpa metode berikut.getView()
Kelas "More" Anda harus meng-extend ListActivity, bukan Activity, lalu Anda bisa meng-override onListItemClick
Edit: Lupa mengatakan, dalam tata letak Anda, ListView Anda harus dipanggil: android:id="@android:id/list"