使LinearLayout可单击 - 将背景着色为ListView的默认值

时间:2015-09-16 16:52:53

标签: android android-layout listview android-linearlayout

您好我的名字是Fabian,目前我尝试编写Android应用程序。 我有一个带有一些项目的ListView,在这个ListView上面,我添加了一个LinearLayout,我想让它可以点击,将项目添加到ListView。 如果我触摸ListView中的一个条目,该项目将使用默认颜色进行着色,为浅灰色。我也希望我的LinearLayout也有这种行为。 我知道如何让LinearLayout可以点击。

我这样做了
android:clickable="true"
android:onClick="addProject"

我也知道如何定义backgroundcolor,但我不知道如何将ListView(android:listSelector)的android中的默认颜色传递给LinearLayout。

我测试了定义

android:background="?android:attr/listChoiceBackgroundIndicator"

但是在这种情况下,LinearLayout会变成蓝色,只有触摸它才能获得正确的颜色。

我希望你能帮助我,将ListView的默认颜色传递给LinearLayout。

1 个答案:

答案 0 :(得分:1)

从LinearLayout中删除以下行

android:onClick="addProject"

并将一个id添加到LinearLayout,

android:id="@+id/linear_layout"

从JAVA添加此内容,

LinearLayout layout = (LinearLayout) findViewById(R.id.linear_layout);
layout.setOnClickListener(new View.OnClickListener()
{
    public void onClick(View v) {
         Toast.makeText(this, "Layout Clicked", Toast.LENGTH_LONG).show();

    }
});