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