Android 如何更改ListView中按钮的来源?

Android 如何更改ListView中按钮的来源?,android,Android,我知道,以前也有人问过类似的问题(滚动ListView时,ListView选定的项目会被弄乱…),答案是在onItemClick中操作,而不是在getView中操作 我的情况有点复杂。我在每个ListView行中都有一个自定义视图。此自定义视图有5个ImageView。所以我捕获了这些ImageView的onClick事件并更改了可绘制图像。在这种情况下,我不知道如何将此操作移动到onItemClick。有什么想法吗?像这样做。您可以更改listview上所选项目的颜色或背景。在getView(

我知道,以前也有人问过类似的问题(滚动ListView时,ListView选定的项目会被弄乱…),答案是在
onItemClick
中操作,而不是在
getView
中操作


我的情况有点复杂。我在每个ListView行中都有一个自定义视图。此自定义视图有5个ImageView。所以我捕获了这些ImageView的onClick事件并更改了可绘制图像。在这种情况下,我不知道如何将此操作移动到onItemClick。有什么想法吗?

像这样做。您可以更改listview上所选项目的颜色或背景。在getView()方法中使用此代码

其中,int indexClick;布尔indexClickFlag=false; itemLayout-->是要更改的背景和m_按钮的布局


希望对您有所帮助。

您可以使用
getChildAt(index)
方法从视图中获取子对象。放置图像视图的索引以获取图像视图对象

示例代码

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // TODO Auto-generated method stub
    System.out.println(".....view..."+arg1);
    LinearLayout ll =(LinearLayout) arg1;
    ImageView imageView = (ImageView) ll.getChildAt(0);
    imageView.setImageDrawable(drawable);
}
@覆盖
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
//TODO自动生成的方法存根
System.out.println(“…视图…”+arg1);
LinearLayout ll=(LinearLayout)arg1;
ImageView ImageView=(ImageView)ll.getChildAt(0);
imageView.setImageDrawable(可绘制);
}

否,我在ListView的行上有多个按钮。我只想更改
单击的
按钮的背景图像,而不是单击的项目。。。
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    // TODO Auto-generated method stub
    System.out.println(".....view..."+arg1);
    LinearLayout ll =(LinearLayout) arg1;
    ImageView imageView = (ImageView) ll.getChildAt(0);
    imageView.setImageDrawable(drawable);
}