Mohammad ASADI
Mohammad ASADI

Reputation: 1

Clickable Image list view

I have list view which contains images, I want to open activity for each image. In my code (which is from an example) there is Toast for clicking on images. I want to change it to open activity, but I don't know how. Please help me. Here is my code:

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;
}
}

Upvotes: 0

Views: 245

Answers (1)

Qadir Hussain
Qadir Hussain

Reputation: 8856

in onItemclicklistner of the listview do somthing like that.

 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

}

}  
});

also don't forget to add your Activity in your manifest File.

Upvotes: 0

Related Questions