【发布时间】:2014-12-09 08:49:23
【问题描述】:
我有以下情况。
我有一个 ListView,ListView 的每个项目都由不同的小部件(TextViews、ImageViews 等)组成,在自定义适配器的 getView() 方法中膨胀形成一个布局。
现在,我想实现以下目标:
当某个事件被触发时,我想更改项目内的 View 的背景。
请问我该怎么做?
这是项目布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cardlayout"
android:layout_width="320dp"
android:layout_height="130dp"
android:background="@android:color/transparent"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp" >
<FrameLayout
android:layout_width="320dp"
android:layout_height="117dp" >
<View
android:id="@+id/card"
android:layout_width="320dp"
android:layout_height="117dp"
android:background="@drawable/card_selector" />
</FrameLayout>
</LinearLayout>
我需要更改card的背景
我试过这样做:
View v=lv.getAdapter().getView(index, null, lv);
View card =(View)v.findViewById(R.id.card);
card.setBackgroundResource(R.drawable.pressed_background_card);
但是没有成功:-((
【问题讨论】:
-
"但是没有成功:-(("为什么?
-
@mmlooloo 因为它不起作用,如果我按照我的问题做,没有任何改变