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

时间:2016-04-11 16:25:56

标签: java android-studio

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

每个框都是TextView,它具有不同的背景颜色。我无法弄清楚如何突出显示,所以目前我正在推出一个' X'在盒子里。我的问题是如何删除任何以前设置的X&#39。

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

import turtle

bob = turtle.Turtle()   # Creating the object "bob"

def draw_circle(t):
    for i in range (360):   # Loop for drawing a circle
        t.fd(1) # Draw a line with the length of 1 pixel in the forward direction
        t.lt(1) # Turn 1 degree to the left

draw_circle(bob)
turtle.mainloop()

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

如何遍历所有TextView并取消所有TextView中的文本?

2 个答案:

答案 0 :(得分:1)

 coloursGrid.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

coloursGrid.setOnItemSelectedListener(new OnItemSelectedListener()
    {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1,
                int arg2, long arg3) {
            // TODO Auto-generated method stub
            coloursGrid.setSelection(arg2)

        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            // TODO Auto-generated method stub

        }

});

它可能对你有帮助。

答案 1 :(得分:1)

您可以将GridView的choiceMode设置为sinngleChoice

android:choiceMode="singleChoice"

然后将网格视图项布局设置为可绘制的状态背景:

<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>