在if语句中突出显示Button onClick

时间:2016-07-27 11:28:31

标签: if-statement button colors highlight xml-drawable

我最近在Android Studio上创建一个基于java的代码,我现在正在努力工作。不幸的是,我无法在stackoverflow或任何其他论坛上找到我的问题的任何解决方案..

我尝试在红色或绿色点击时突出显示一个按钮,具体取决于按钮文本是字符串数组的text1还是text2。

如果我运行该应用程序,它总是向我显示错误,或者当我按下它时按钮根本不会改变它的颜色。我想这与if子句有关,但我不知道如何以任何其他方式解决这个问题。

我真的很感激这方面的任何帮助!

绿色按钮的XML代码

<item
    android:state_pressed="true"
    android:drawable="#81c784"/>
<item
    android:state_selected="true"
    android:drawable="@color/#4caf50"/>

红色按钮的XML代码

    <item
    android:state_pressed="true"
    android:drawable="#FF4081"/>
    <item
    android:state_selected="true"
    android:drawable="#d50000"/>

Java代码:

Button button1;
Button button2;

String[] txtString;            
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_layout);

    txtString = getResources().getStringArray(R.array.optiontxt);
    String random = txtString[new random().nextInt(txtString.length)];


    button1 = (Button)findViewById(R.id.btn1);
    button2 = (Button)findViewById(R.id.btn2);


    if (random == txtString[0])
    {
        button1.setText(txtString[0]);
        button1.setBackgroundResource(R.drawable.button_green);
        button2.setText(txtString[1]);
        button2.setBackgroundResource(R.drawable.button_red);

    }
    else
    {
        button1.setText(txtString[1]);
        button1.setBackgroundResource(R.drawable.button_red);
        button2.setText(txtString[0]);
        button2.setBackgroundResource(R.drawable.button_green);
    }       button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {}}; button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {}};

我还尝试了其他不同的代码来设置按钮的背景,这些代码也不起作用,例如

button1.setBackground(Drawable.createFromPath(&#34; /抽拉/ button_green&#34));

button1.getBackground()。setState(new int [] {R.drawable.button_green});

button1.setBackgroundResource(R.drawable.button_green);

我会非常感谢任何帮助。 非常感谢你提前!

1 个答案:

答案 0 :(得分:0)

您是否尝试在onCreate方法中调用button1.setsetBackgroundResource?