我必须重建可点击列表项的外观。
因此我有这个xml代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/tv_changeRoomLabel"
style="?android:attr/listSeparatorTextViewStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/label_optionChangeName" />
<include
android:id="@+id/tv_btn_changeRoom"
layout="@android:layout/simple_list_item_1"
android:background="@android:drawable/btn_default"
android:clickable="true" />
</LinearLayout>
我在标签中尝试了很多不同的东西,但它总是一样的。单击列表项时,它不显示反馈。这意味着simple_list_item的背景颜色不会像使用普通ListView时那样改变。不过至少执行了onClick()。
有什么想法吗?
P.S我遇到过simple_layout_activated_1,但它是API 11,所以我无法使用它。我有mintarget 7。
编辑: javacode
TextView options = (TextView) findViewById(R.id.tv_btn_changeRoom);
options.setText(m_model.getRoomName(m_roomId));
options.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//do sth
}
});
答案 0 :(得分:0)
确定。根据您在讨论中的评论,我认为您在选择textView
时需要自己的选择器
为此,您可以通过布局文件执行此操作。使用 selector
将textView
设计修改为此。
<TextView
android:id="@+id/tv_changeRoomLabel"
android:background="@drawable/textBackSelector"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/label_optionChangeName" />
在 drawable 文件夹中创建一个文件,并将其命名为textBackSelector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="THE_COLOR_YOU_WANT_WHEN_PRESSED"/>
<item android:state_selected="true" android:color="THE_COLOR_YOU_WANT_WHEN_SELECTED"/>
<item android:color="DEFAULT_BACKGROUND_COLOR_OF_TEXTVIEW"/>
</selector>
上面的 xml 会在选中后处理你的textView背景。
希望对你有所帮助。
由于