0

我必须重建可点击列表项的外观。

因此我有这个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()。

有任何想法吗?

PS 我遇到了 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
        }
    });
4

1 回答 1

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 背景。

希望对您有所帮助。

谢谢

于 2013-01-23T03:23:50.487 回答