gpt4 book ai didi

java - Android:单击时更改表格行颜色,单击表格的另一行时删除颜色

转载 作者:行者123 更新时间:2023-12-01 13:50:30 26 4
gpt4 key购买 nike

在我的 Android 应用程序中,有一个在运行时加载的表格布局。我已经实现了一个代码,用于在单击该行时更改该表的背景颜色。

private OnClickListener trOnClickListener = new OnClickListener() {
public void onClick(View v) {
TableRow tablerow = (TableRow)v;

tablerow.setBackgroundDrawable(getResources().getDrawable(
R.drawable.table_row_selector));


}
};

现在我想在用户单击表格的另一行时删除此颜色,并且新单击的行应该更改其颜色。

这是我的绘图。

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/ab_stacked_solid_whiteaction" android:state_pressed="true"/>
<item android:drawable="@drawable/table_shape" android:state_enabled="true"/>

任何建议都将受到高度赞赏。

提前致谢

最佳答案

将您的绘图更改为如下所示

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/background_selected" android:state_enabled="true"
android:state_pressed="true"/>
<item android:drawable="@drawable/background_selected" android:state_enabled="true"
android:state_focused="true"/>
<item android:drawable="@drawable/background_selected" android:state_enabled="true"
android:state_selected="true"/>
<item android:drawable="@drawable/background_selected" android:state_active="true"
android:state_enabled="true"/>

<item android:drawable="@drawable/background_selectable" android:state_pressed="false"/>
<item android:drawable="@drawable/background_selectable" android:state_focused="false"/>
<item android:drawable="@drawable/background_selectable" android:state_selected="false"/>
<item android:drawable="@drawable/background_selectable" android:state_active="false"/>
</selector>

然后将行设置为tablerow.setSelected(true)。当选择另一行时,将先前选择的行设置为 tablerow.setSelected(false),将新选择的行设置为 true

我在我的一个 ListViews 中使用它并且它有效。

希望这有帮助

关于java - Android:单击时更改表格行颜色,单击表格的另一行时删除颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19998458/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com