假设我有一个 ListView,其中的项目是包含三个按钮的布局。例如,我如何才能有效地知道用户何时单击了项目编号 5 的第二个按钮?
还有第二个问题:如果我有一个带有 getView 方法的适配器,我该如何处理 Activity 类而不是适配器中的点击事件?
干杯,
最佳答案
实际上有很多方法可以做到这一点。
- 您可以为每个知道它附加到哪个 Button 的按钮创建一个 Click 适配器。
- 您可以在点击处理程序识别和操作的每个按钮上放置一个唯一的标签。
您可以构建一个 ArrayList,将每个
中创建 onClick 处理程序Button
链接到一个代码,告诉点击处理程序要做什么...... - 正如亚历山大所说,您可以为处理按钮的 ListView 创建自定义适配器。如果您使用此方法,则需要在@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/