Я искал stackoverflow, но не смог найти ответ (уверен, что он где-то есть), но я пытаюсь добавить действие для каждого ввода списка. Я могу управлять этим с одним намерением, но как дать каждому входу в просмотр списка отдельное действие. Итак, чтобы быть ясным, я хочу, чтобы каждый предмет имел отдельную активность.
В настоящее время используйте этот код для запуска действия, но хотите, чтобы отдельные действия выполнялись для каждого элемента.
public class ListviewActivityActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// storing string resources into Array
String[] adobe_products = getResources().getStringArray(R.array.list_products);
// Binding resources Array to ListAdapter
this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products));
ListView lv = getListView();
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// selected item
String product = ((TextView) view).getText().toString();
// Launching new Activity on selecting single List Item
Intent i = new Intent(getApplicationContext(), BMICalculatorActivity.class);
startActivity(i);
}
});
}
Попытался добавить это, но это не сработало
private static final int ACTIVITY_0 = 0;
private static final int ACTIVITY_1 = 1;
private static final int ACTIVITY_2 = 2;
protected void onListItemClick(ListView l, View v, int position, long id)
{
super.onListItemClick(l, v, position, id);
final Intent intent = new Intent();
// Set up different intents based on the item clicked:
switch (position)
{
case ACTIVITY_0:
intent.setClass(this, listview.activty.BMICalculatorActivity.class);
break;
case ACTIVITY_1:
intent.setClass(this, listview.activty.BodyLog.class);
break;
Я знаю, что это, вероятно, просто отсортировать, поэтому любая помощь будет потрясающей. Спасибо