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.
Anda juga bisa melakukan seperti ini ..
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] );
}
});
Ada dua opsi untuk menangani event klik untuk setiap baris.
ListActivity
, Anda dapat menimpa metode berikut.@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
}
getView()
row.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
}
});
Kelas "More" Anda harus meng-extend ListActivity, bukan Activity, lalu Anda bisa meng-override onListItemClick
@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
}
Edit: Lupa mengatakan, dalam tata letak Anda, ListView Anda harus dipanggil: android:id="@android:id/list"