【问题标题】:OnClick for specific Items in ListViewOnClick 用于 ListView 中的特定项目
【发布时间】:2013-10-18 16:25:43
【问题描述】:

我正在尝试为 ListView 中的特定项目创建一个 onItemClickListener。 使用此代码,侦听器会对每个项目做出反应,但我只希望它对列表中的一个项目(字体大小)做出反应。

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

我如何做到这一点?

提前致谢

【问题讨论】:

    标签: java android listview onclick onitemclicklistener


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 这看起来很有希望,但 eclipse 说:不能在不同方法中定义的内部类中引用非最终变量 listItems。我该如何解决这个问题?
    • 声明 listItems 为:code final String[] listItems = {"Color", "Font Size",}; code 在第一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 2014-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-06
    相关资源
    最近更新 更多