TextView在同一行,选择一个取消另一个

时间:2014-02-08 20:09:27

标签: android select colors click textview

我是Android的新手 我有一个LinearLayouts列表;每个列表有3个TextView,2个可点击的TextViews'Da'和'Nu',还有一个仅用于文本。
如果我点击'Da'文本视图它将变为绿色,如果我点击'Nu'它将变为红色。
我的问题是,如果我想在一行上选择'Da',然后选择'Nu',绿色应该返回到标准颜色(选择前它是如何)所以我每行只能选择1个TextView。 / p>

    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);
}

2 个答案:

答案 0 :(得分:1)

试一试!

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);
    }
});

答案 1 :(得分:0)

使用txt_view.setClickable(false);