我是Android新手。
我有一个LinearLayouts列表;每个列表具有3个TextView,两个可单击的TextView“ Da”和“ Nu”,一个仅用于Text。
如果我单击“ Da”文本视图,它将变成绿色,如果我单击“ Nu”,它将变成红色。
我的问题是,如果要在一行中选择“ Da”,然后选择“ Nu”,则绿色应返回到标准颜色(选择之前的颜色),因此每行只能选择1个TextView。

    public ProgramAZView(Context context, String name) {
    super(context);

    LayoutInflater layoutInflater =  LayoutInflater.from(context);
    layoutInflater.inflate(R.layout.program_az_view, this);



    Da = (TextView) findViewById(R.id.dreaptaDA);
    Da.setOnClickListener(new TextView.OnClickListener(){
        public void onClick(View v)
        {
                Da.setBackgroundResource(R.color.Green);
        }
    });


    Nu = (TextView) findViewById(R.id.stangaNU);
    Nu.setOnClickListener(new TextView.OnClickListener(){
        public void onClick(View v)
        {
                Nu.setBackgroundResource(R.color.Red);
        }
    });

    pazName = name;
    SetName(name);
}

最佳答案

试试这个!

Da = (TextView) findViewById(R.id.dreaptaDA);
Drawable DAoriginalBackground = Da.getBackground();
Nu = (TextView) findViewById(R.id.stangaNU);
Drawable NUoriginalBackground = Nu.getBackground();

Da.setOnClickListener(new TextView.OnClickListener(){
    public void onClick(View v)
    {
            Da.setBackgroundResource(R.color.Green);
            Nu.setBackgroundResource(NUoriginalBackground);
    }
});

Nu.setOnClickListener(new TextView.OnClickListener(){
    public void onClick(View v)
    {
            Nu.setBackgroundResource(R.color.Red);
            Da.setBackgroundResource(DAoriginalBackground);
    }
});

07-24 09:48
查看更多