Question

I am trying to make an onItemClickListener for specific Items in a ListView. With this code the Listener reacts to every item, but i only want it to react to one item in the list (Font Size).

String[] listItems = {"Colour", "Font Size",};
ListView lv = (ListView) findViewById(R.id.settings_list);

lv.setAdapter(new ArrayAdapter<String>
  (this, android.R.layout.simple_list_item_1, listItems));

lv.setOnItemClickListener(new OnItemClickListener()
{
    public void onItemClick(AdapterView<?> parent, View view, int position, long id)
        {
            Context context = getApplicationContext();
            CharSequence text = "Clicked";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
        }
    });

How do i achieve that?

Thanks in advance

Was it helpful?

Solution

Try this:

 String[] listItems = {"Colour", "Font Size",};
 ListView lv = (ListView) findViewById(R.id.settings_list);

 lv.setAdapter(new ArrayAdapter<String>
 (this, android.R.layout.simple_list_item_1, listItems));

 lv.setOnItemClickListener(new OnItemClickListener()
 {
  public void onItemClick(AdapterView<?> parent, View view, int position, long id)
    {
        if(listItems[position].equlas("Font Size"))
        {
          Context context = getApplicationContext();
          CharSequence text = "Clicked";
          int duration = Toast.LENGTH_SHORT;

          Toast toast = Toast.makeText(context, text, duration);
          toast.show();
        }
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top