gpt4 book ai didi

java - Android Studio - 如何突出显示选定的网格项目,并取消突出显示所有其他网格项目?

转载 作者:行者123 更新时间:2023-12-02 03:43:40 25 4
gpt4 key购买 nike

我有一个由很多项目组成的网格。我希望用户能够单击网格中的项目;然后该项目应突出显示。如果单击不同的项目,则应取消突出显示原始项目,并突出显示新项目。

每个框都是一个具有不同背景颜色的 TextView。我不知道如何突出显示,所以目前我在框中放置一个“X”。我的问题是如何删除任何先前设置的 X。

这是到目前为止我的代码(patternColour 只是一个具有名称和十六进制代码的对象):

coloursGrid = (GridView) findViewById(R.id.gridViewColoursGrid);
patternColourAdapter = new PatternColourAdapter(this, R.layout.colour_grid_layout, gridItemsColours);
coloursGrid.setAdapter(patternColourAdapter);
coloursGrid.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Highlight selected colour, and unhighlight all others
TextView unselected;
for(int ii=0; ii<parent.getCount(); ii++) {
unselected = ????; // Don't know what to put here!
unselected.setText("");
}
TextView selected = (TextView) view;
selected.setText("X");
}
});

无论我尝试什么来代替问号,我都会收到错误(要么构建失败,要么应用程序崩溃)。

如何循环遍历所有 TextView 并取消设置所有 TextView ?

最佳答案

您可以将GridView的choiceMode设置为singleChoice

android:choiceMode="singleChoice"

然后将 GridView 项布局设置为可绘制状态背景,如下所示:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/green" android:state_pressed="true"></item>
<item android:drawable="@color/green" android:state_activated="true"></item>
<item android:drawable="@android:color/transparent"></item>
</selector>

关于java - Android Studio - 如何突出显示选定的网格项目,并取消突出显示所有其他网格项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554224/

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