java - 在 Android 的 ListView 项目 View 中处理点击事件

标签 java android xml

假设我有一个 ListView,其中的项目是包含三个按钮的布局。例如,我如何才能有效地知道用户何时单击了项目编号 5 的第二个按钮?

还有第二个问题:如果我有一个带有 getView 方法的适配器,我该如何处理 Activity 类而不是适配器中的点击事件?

干杯,

最佳答案

实际上有很多方法可以做到这一点。

  • 您可以为每个知道它附加到哪个 Button 的按钮创建一个 Click 适配器。
  • 您可以在点击处理程序识别和操作的每个按钮上放置一个唯一的标签。
  • 您可以构建一个 ArrayList,将每个 Button 链接到一个代码,告诉点击处理程序要做什么...... - 正如亚历山大所说,您可以为处理按钮的 ListView 创建自定义适配器。如果您使用此方法,则需要在

    中创建 onClick 处理程序
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
        // Create all the Views, Buttons, etc
    
        // Create the click handlers:
        button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                doButtonOneClickActions(position);
            }
         });
    }
    
    private void doButtonOneClickActions(int rowNumber) {
        // Do the actions for Button one in row rowNumber (starts at zero)
    }
    

这取决于您的其余代码(以及您喜欢的编码风格)要采用哪种解决方案..

关于java - 在 Android 的 ListView 项目 View 中处理点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819150/

相关文章:

java - jax-ws Web 服务层到基于 hibernate 的数据提供程序

android - Gingerbread 上 PreferenceActivity 内的 ActionBar(使用 ActionbarSherlock)

android - 在 ListView 中一次显示单个项目

android - ListView 中的字母索引..忽略部分索引

java - 避免来自 Web 应用程序上下文根的版本号

java流: easiest way to find adjacent value match

java - 我的代码有什么问题(初学者)(Java)

xml - Golang UnmarshalXML和MarshalXML身份

xml - 在 grxml 文件中切换可识别的项目

java - 有没有办法从 XML 文件中获取字符串格式的查询?