【问题标题】:How to find the position of item in listview如何在列表视图中找到项目的位置
【发布时间】:2018-07-23 10:41:47
【问题描述】:

我创建了一个自定义列表视图,我在其中放置了一些文本和图像,但是当我在列表视图中单击时,它们没有响应。我创建了一个自定义列表视图。 如果有人知道,请告诉我。 我的代码在这里

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    final List<pdf> pdfList;

    //the listview
    final ListView listView;

        //initializing objects
      pdfList = new ArrayList<>();
        listView = (ListView) findViewById(R.id.list);

        //adding some values to our list
      pdfList.add(new pdf("Book1", "First Year"));
     pdfList.add(new pdf( "Book2", "First Year"));
        //creating the adapter
        ListAdptot adapter = new ListAdptot(this, R.layout.customlistview, pdfList);

        //attaching adapter to the listview
        listView.setAdapter(adapter);

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                                    @Override
                                    public void onItemClick (AdapterView < ? > adapter, View view, int position, long arg){

                                       if(position==0)
                                       {
                                           Toast.makeText(MainActivity.this, "Position 0", Toast.LENGTH_SHORT).show();
                                       }

                                      else if(position==1)
                                        {
                                            Toast.makeText(MainActivity.this, "Position 1", Toast.LENGTH_SHORT).show();
                                        }
                                    }
                                }
    );
    }
}

【问题讨论】:

  • 您的标题与您的问题不符。

标签: android


【解决方案1】:

获取列表项位置点击如下

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                                @Override
                                public void onItemClick (AdapterView < ? > adapter, View view, int position, long arg){

                                  String value = listView.getItemAtPosition(position).toString();
                                }
                            }
);

【讨论】:

    【解决方案2】:

    如果您的列表项中有任何可点击的视图,那么它将消耗您的 ListView 项点击的点击事件。

    在您的ButtonImageButton 上设置android:focusable="false"(如果有)。

    参考SO answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 2017-12-06
      • 2010-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多