【发布时间】:2015-02-11 05:28:37
【问题描述】:
我有一个表格布局,每一行都有两个文本视图。我想在选择行时更改 textview 的文本颜色。我还在TextView的文本颜色中使用Selector XML,但选择行时颜色不会更改。 这里是 xml
<TableRow
android:id="@+id/row1"
android:onClick="rowClick"
android:focusable="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/selector" //this selector is use for row when its selected
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/textline"
android:orientation="horizontal" >
<TextView
android:id="@+id/username1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="User Name "
android:textColor="@drawable/text_selector"
android:gravity="left|center"
android:textSize="16dip"
/>
<TextView
android:id="@+id/userName"
android:layout_width="86dp"
android:layout_height="match_parent"
android:layout_weight="0.27"
android:gravity="right|center"
android:freezesText="true"
android:text=""
android:textSize="16dip"
android:textColor="#c4c0A3" />
</LinearLayout>
</TableRow>
文本选择器 xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:color="#ffffff" />
<item android:state_focused="true" android:state_pressed="true" android:color="#ffffff" />
<item android:state_focused="false" android:state_pressed="true" android:color="#ffffff" />
<item android:color="#000000" />
</selector>
这是代码
row1.setOnClickListener(new OnClickListener()
{
public void onClick(View v)
{
final EditText m_objText = (EditText) promptsView.findViewById(R.id.username_pref);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setTitle(sTitle);
alertDialogBuilder.setView(promptsView);
// set dialog message
alertDialogBuilder
.setCancelable(false)
.setPositiveButton("OK",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
objRowTextView.setText(m_objText.getText());
HideKeyboard();
}
})
.setNegativeButton("Cancel",
new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int id)
{
HideKeyboard();
dialog.cancel();
}
});
【问题讨论】:
-
把你的代码也放在这里compiletimeerror.com/2014/03/…
标签: android xml android-layout textview android-tablelayout