0

我想在单击布局时更改背景图像和 TextView 颜色。背景颜色正在正确更改,但我的 textview 颜色没有改变。这是我的 XML 代码:

<RelativeLayout
        android:id="@+id/flight_relative"
        android:clickable="true"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:layout_below="@+id/imgLogo"
        android:layout_marginTop="5dp"
        android:background="@drawable/button_effect"
        android:gravity="center_vertical" >

        <TextView
            android:id="@+id/flight_content"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/flight_list_image"
            android:layout_marginTop="10dp"
            android:layout_toRightOf="@+id/flight_list_image"
            android:text="@string/flight_tittle"
            android:textColor="#152b72"
            android:textSize="15dp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/content_flight"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/flight_content"
            android:layout_toRightOf="@+id/flight_list_image"
            android:text="@string/flight_content"
            android:textColor="#2f2f2f"
            android:textSize="10sp" />

        <ImageView
            android:id="@+id/flight_arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/flight_content"
            android:layout_alignParentRight="true"
            android:src="@drawable/arrow" />

        <ImageView
            android:id="@+id/flight_list_image"
            android:layout_width="50dip"
            android:layout_height="50dip"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:padding="3dip"
            android:src="@drawable/flight_icon" />

    </RelativeLayout>

更改文本视图颜色的代码是:

flightRelative = (RelativeLayout )findViewById(R.id.flight_relative);
        flightRelative.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                flight = (TextView)findViewById(R.id.flight_content);
                flight.setTextColor(Color.WHITE);

            }
        });

我在做什么错请建议我。第一次它不工作第二次它工作

4

2 回答 2

1

你应该添加这个绝对有效。我也在检查它......

flightRelative.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
       TextView flight = (TextView)findViewById(R.id.flight_content);
       flight.setTextColor(Color.parseColor("#FFFFFF"));

    }
});
于 2013-07-26T07:30:42.707 回答
0

你应该使用

        @Override
        public void onClick(View arg0) {
            flight = (TextView)flightRelative.findViewById(R.id.flight_content);
            flight.setTextColor(Color.WHITE);

        }

我相信它现在应该可以工作了。

于 2013-07-26T06:44:18.137 回答