2016-07-27 45 views
-1

我最近正在努力在Android Studio上创建一个基于java的代码,这是我从2天开始工作的。不幸的是,我无法找到我的计算器或任何其他论坛问题的任何决议..突出显示Button onClick if语句

我尝试在红色或绿色取决于点击时突出显示一个按钮,如果按钮文本文本1或与字符串的文本2阵列。

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

我真的很感谢在这件事情上的任何帮助!

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

:绿色按钮

XML代码

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

红色按钮

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

Java代码的XML代码我也尝试了各种其他的代码来设置不工作的按钮的背景,例如,

button1.setBackground(Drawable.createFromPath(“/ drawable/button_green”)); 。

button1.getBackground()的setState(新INT [] {R.drawable.button_green});

button1.setBackgroundResource(R.drawable.button_green);

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

回答

0

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

+0

是的,我已经试过,但它没有奏效。我认为这是因为if语句。 – LoveCoding