Android 更改该按钮(选中)上的选项卡时的颜色,并获取其他按钮的正常布局

Android 更改该按钮(选中)上的选项卡时的颜色,并获取其他按钮的正常布局,android,select,button,Android,Select,Button,我正在一个水平线性布局中创建动态按钮。现在需要改变背景颜色时,我选择了,在那个时候其他按钮将改变为正常的默认布局。 我已经创建了如下内容:- 我的代码如下:- for(int i=0;i<=5;i++) { LinearLayout.LayoutParams params = new LinearLayout.LayoutParams( LinearLayout.LayoutPa

我正在一个水平线性布局中创建动态按钮。现在需要改变背景颜色时,我选择了,在那个时候其他按钮将改变为正常的默认布局。 我已经创建了如下内容:-

我的代码如下:-

for(int i=0;i<=5;i++)
                {
                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.WRAP_CONTENT,
                        LinearLayout.LayoutParams.WRAP_CONTENT,1.0f);
                final TextView btn = new TextView(activity);
                btn.setId(i);
                final int id_ = btn.getId();
                btn.setText("button " + id_);


                //btn.setBackgroundColor(Color.rgb(70, 80, 90));
                new_addonprice_name.addView(btn, params);
                    btn.setOnClickListener(new OnClickListener() {
                    @SuppressLint("ResourceAsColor") @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
/*                      new_addonprice_name.removeAllViews();
                        String  aaa = updatebutton();*/
                           btn.setSelected(true);

                        Toast.makeText(activity, btn.getText().toString(), Toast.LENGTH_SHORT).show();
                        btn.setBackgroundColor(R.color.black);
                    }
                });
            }

for(inti=0;i如果我正确理解了您,您需要


res/drawable/new_button.xml


将先前单击的视图的id放入静态上下文中。同时在res/values/color.xml上添加白色

    static int _id=-1;
这是密码

    LinearLayout lin = new LinearLayout(context);
    lin.setLayoutParams(new ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
    lin.setOrientation(LinearLayout.HORIZONTAL);        
    for (int i = 0; i <= 5; i++) {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
        final TextView btn = new TextView(context);
        btn.setId(i);           
        final int id_ = btn.getId();
        Log.i("id",""+id_);
        btn.setText("button " + id_);                       

        // btn.setBackgroundColor(Color.rgb(70, 80, 90));
        lin.addView(btn, params);
        btn.setOnClickListener(new View.OnClickListener() {

            @SuppressLint("ResourceAsColor")
            public void onClick(View v) {
                // TODO Auto-generated method stub
                /*
                 * new_addonprice_name.removeAllViews(); String aaa =
                 * updatebutton();
                 */
                if(_id != -1)
                {                       
                    TextView tv = (TextView) findViewById(_id);                     
                    tv.setBackgroundResource(R.color.white);                                                
                }                   
                _id = id_;
                btn.setSelected(true);

                Toast.makeText(context, btn.getText().toString(),
                        Toast.LENGTH_SHORT).show();
                btn.setBackgroundColor(R.color.black);

            }
        });
LinearLayout lin=新的LinearLayout(上下文);
lin.setLayoutParams(新的ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL\u父级,
ViewGroup.LayoutParams.WRAP_CONTENT);
林。设置方向(线性布局。水平);

for(int i=0;i
for(int i=0;iIt's not working…我正在创建动态按钮。如果我设置BackgroundColor,那么它将设置为all按钮。你编写了TabHost?你想重置其他按钮的样式吗?我有一个弹出窗口。在那里我放置了布局,在布局中我正在创建动态按钮。让我们。hi@tej shah尝试我的答案…嘿,谢谢你的回答。但是我在T中遇到了错误extView tv=(TextView)findViewById(_id);TextView tv=(TextView)findViewById(_id);这是不可接受的。此方法需要R.id。文件或控件的名称无法理解。你是否全局创建了静态id。是的。但现在我解决了我的问题,不是100%来自你,而是80%你帮了我很多,兄弟。
    static int _id=-1;
    LinearLayout lin = new LinearLayout(context);
    lin.setLayoutParams(new ViewGroup.LayoutParams(
            ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.WRAP_CONTENT));
    lin.setOrientation(LinearLayout.HORIZONTAL);        
    for (int i = 0; i <= 5; i++) {
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.WRAP_CONTENT, 1.0f);
        final TextView btn = new TextView(context);
        btn.setId(i);           
        final int id_ = btn.getId();
        Log.i("id",""+id_);
        btn.setText("button " + id_);                       

        // btn.setBackgroundColor(Color.rgb(70, 80, 90));
        lin.addView(btn, params);
        btn.setOnClickListener(new View.OnClickListener() {

            @SuppressLint("ResourceAsColor")
            public void onClick(View v) {
                // TODO Auto-generated method stub
                /*
                 * new_addonprice_name.removeAllViews(); String aaa =
                 * updatebutton();
                 */
                if(_id != -1)
                {                       
                    TextView tv = (TextView) findViewById(_id);                     
                    tv.setBackgroundResource(R.color.white);                                                
                }                   
                _id = id_;
                btn.setSelected(true);

                Toast.makeText(context, btn.getText().toString(),
                        Toast.LENGTH_SHORT).show();
                btn.setBackgroundColor(R.color.black);

            }
        });
    for(int i=0;i<=5;i++)
                {
            //final String check = "1";
                LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
                        LinearLayout.LayoutParams.WRAP_CONTENT,
                        LinearLayout.LayoutParams.WRAP_CONTENT,1.0f);
                final TextView btn = new TextView(activity);
                btn.setId(i);
                final int id_ = btn.getId();
                btn.setText("button " + id_);
               // btn.setBackgroundResource(R.drawable.tab_selector);


                //btn.setBackgroundColor(Color.rgb(70, 80, 90));
                new_addonprice_name.addView(btn, params);
                    btn.setOnClickListener(new OnClickListener() {
                    @SuppressLint("ResourceAsColor") @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub
/*                      new_addonprice_name.removeAllViews();
                        String  aaa = updatebutton();*/
                        //   btn.setSelected(true);\
                         //if(_id != -1)
                        for(int i=0;i<=5;i++)
                            {                       
                                TextView tv = (TextView)dialog.findViewById(i);                     
                                tv.setBackgroundColor(R.color.white);                                                
                            }                   
                           // _id = id_;

                        Toast.makeText(activity, btn.getText().toString(), Toast.LENGTH_SHORT).show();
                btn.setBackgroundColor(R.color.black);
                    }
                });
            }