Кликабельное представление списка изображений
У меня есть вид списка, который содержит изображения, я хочу открыть деятельность для каждого изображения. В моем коде (который из примера) есть тост для нажатия на изображения. Я хочу изменить это, чтобы открыть деятельность, но я не знаю как. Пожалуйста, помогите мне. Вот мой код:
public class ListOfAllAircraft extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list_of_all_aircraft);
final ArrayList<ItemDetails> image_details = GetSearchResults();
final ListView lv1 = (ListView) findViewById(R.id.listV_main);
lv1.setAdapter(new ItemListBaseAdapter(this, image_details));
lv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> a, final View v, final int position, final long id) {
final Object o = lv1.getItemAtPosition(position);
final ItemDetails obj_itemDetails = (ItemDetails)o;
Toast.makeText(ListOfAllAircraft.this, "You have chosen : " + " " + obj_itemDetails.getName(), Toast.LENGTH_LONG).show();
}
});
}
private ArrayList<ItemDetails> GetSearchResults(){
final ArrayList<ItemDetails> results = new ArrayList<ItemDetails>();
ItemDetails item_details = new ItemDetails();
item_details.setImageNumber(1);
results.add(item_details);
item_details = new ItemDetails();
item_details.setImageNumber(2);
results.add(item_details);
item_details = new ItemDetails();
item_details.setImageNumber(3);
results.add(item_details);
item_details = new ItemDetails();
item_details.setImageNumber(4);
results.add(item_details);
item_details = new ItemDetails();
item_details.setImageNumber(5);
results.add(item_details);
item_details = new ItemDetails();
item_details.setImageNumber(6);
results.add(item_details);
return results;
}
}
1 ответ
В onItemclicklistner
из списка сделать что-то подобное.
lv1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(final AdapterView<?> a, final View v, final int position, final long id) {
if(position == 0){
Intent intent = new Intent (ListOfAllAircraft.java, yourOtherActivityName1.class);
startActivity(intent);
}else if(position == 1){
Intent intent = new Intent (ListOfAllAircraft.java, yourOtherActivityName2.class);
startActivity(intent);
//.... and son
}
}
});
также не забудьте добавить свою активность в свой manifest File
,