Android 当我以编程方式添加背景绘图时,按钮文本消失

Android 当我以编程方式添加背景绘图时,按钮文本消失,android,android-layout,listview,android-adapter,Android,Android Layout,Listview,Android Adapter,我正在尝试动态创建按钮列表,而不使用列表视图和适配器 我使用水平布局,然后动态添加按钮。当我将背景添加到按钮时,文本会自动消失 代码如下: mSizeButtons=new ArrayList<Button>(); mSizeLayout=(LinearLayout)findViewById(R.id.sneaker_size_activity_lv_size); String[] shoeSizes={"2.0","2.5","3.0

我正在尝试动态创建按钮列表,而不使用
列表视图
适配器

我使用水平布局,然后动态添加按钮。当我将背景添加到按钮时,文本会自动消失

代码如下:

        mSizeButtons=new ArrayList<Button>();
        mSizeLayout=(LinearLayout)findViewById(R.id.sneaker_size_activity_lv_size);
        String[] shoeSizes={"2.0","2.5","3.0","3.5","4.0","4.5","5.0","5.5","6.0","6.5","7.0","7.5"      ,"8.0","8.5","9.0","9.5","10.0","10.5","11.0","11.5","12","12.5","13.0","13.5","14.0","14.5","15.0","15.5","16.0"
        ,"16.5","17.0","17.5","18.0"};


        LinearLayout.LayoutParams lprams = new LinearLayout.LayoutParams(
               120,
                120);
        lprams.setMargins(15,0,0,0);

        for(int i=0;i<shoeSizes.length;i++){
            Button btn = new Button(this);
            btn.setLayoutParams(lprams);


            btn.setBackgroundDrawable(ContextCompat.getDrawable(this, R.drawable.sneaker_size_button_white));
            btn.setText(shoeSizes[i]);
           // btn.setTextColor(Color.BLACK);

            btn.setTag(i);
            btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    int tag=(int)v.getTag();

                    for(Button btn : mSizeButtons){
                        btn.setBackgroundDrawable(ContextCompat.getDrawable(SneakerSizeActivity.this,
                                R.drawable.sneaker_size_button_white));
                    }
                    mSizeButtons.get(tag).setBackgroundDrawable(ContextCompat.getDrawable(SneakerSizeActivity.this,
                            R.drawable.sneaker_size_button_black));
                    mSizeButtons.get(tag).setTextColor(Color.WHITE);

                }
            });
            mSizeButtons.add(btn);
            mSizeLayout.addView(btn);
        }
mSizeButtons=newarraylist();
mSizeLayout=(线性布局)findViewById(R.id.运动鞋大小\活动大小\ lv大小);
String[]shoeSizes={“2.0”、“2.5”、“3.0”、“3.5”、“4.0”、“4.5”、“5.5”、“6.0”、“6.5”、“7.0”、“7.5”、“8.0”、“8.5”、“9.0”、“9.5”、“10.0”、“10.5”、“11.0”、“11.5”、“12.5”、“13.0”、“13.5”、“14.0”、“14.5”、“15.0”、“15.5”、“16.0”
,"16.5","17.0","17.5","18.0"};
LinearLayout.LayoutParams lprams=新的LinearLayout.LayoutParams(
120,
120);
lprams.setMargins(15,0,0,0);

对于(int i=0;i我认为你的文本没有消失。有背景时你看不到文本。只需尝试更改背景图像或文本颜色

我认为你的文本没有消失。有背景时你看不到文本。只需更改背景图像或文本颜色

Android:Combing text&i按钮或ImageButton上的图像我正在使用类似的方法,但是当我添加背景绘图时,文本会消失,这在逻辑上是不应该的。但是,如果我不添加背景绘图,文本不会消失。尝试使用setBackgroundResource而不是setBackgroundDrawable。Android:在按钮或ImageButton上组合文本和图像我我正在使用类似的方法,但是当我添加背景绘图时,文本会消失,这在逻辑上是不应该的。但是,如果我不添加背景绘图,文本不会消失。请尝试使用setBackgroundResource而不是setBackgroundDrawable。