一个按钮的不同说明

时间:2017-11-11 14:36:38

标签: java android

我想为一个按钮做不同的事情 但是每次点击按钮后我都会更改说明 首先,我创建了两个按钮,在我单击按钮后,我希望它能够更改其文本。对于每个文本,我想创建不同的指令 我为此创建了if / else。但我不确定为什么我不工作。
我只在第一个声明中做了说明。

这是我的代码。

package com.example.iqbal.destini;

public class MAINPAGE extends AppCompatActivity {

Button mAnswer_1_Button;
Button mAnswer_2_Button;
TextView mTextbody;
int counter1 = 0;
int counter2 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_mainpage);

    mAnswer_1_Button = (Button) findViewById(R.id.answer_1);
    mAnswer_2_Button = (Button) findViewById(R.id.answer_2);
    mTextbody = (TextView) findViewById(R.id.text_body);

    if(mTextbody.getText().toString().equals(getResources().getString(R.string.T1_Story)) && mAnswer_2_Button.getText().toString().equals(getResources().getString(R.string.T1_Ans2))&&mAnswer_1_Button.getText().toString().equals(getResources().getString(R.string.T1_Ans1)) ){
        mAnswer_1_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mTextbody.setText(R.string.T3_Story);
                mAnswer_1_Button.setText(R.string.T3_Ans1);
                mAnswer_2_Button.setText(R.string.T3_Ans2);
            }
        });

        mAnswer_2_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mTextbody.setText(R.string.T2_Story);
                mAnswer_1_Button.setText(R.string.T2_Ans1);
                mAnswer_2_Button.setText(R.string.T2_Ans2);

            }
        });
    }
    else if(mTextbody.getText().toString().equals(getResources().getString(R.string.T2_Story))&& mAnswer_2_Button.getText().toString().equals(getResources().getString(R.string.T2_Ans2))&&mAnswer_1_Button.getText().toString().equals(getResources().getString(R.string.T2_Ans1))){

        mAnswer_1_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mTextbody.setText(R.string.T3_Story);
                mAnswer_1_Button.setText(R.string.T3_Ans1);
                mAnswer_2_Button.setText(R.string.T3_Ans2);
            }
        });
        mAnswer_2_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mTextbody.setText(R.string.T4_End);
                mAnswer_1_Button.setVisibility(View.GONE);
                mAnswer_2_Button.setVisibility(View.GONE);
            }
        });
    }
    else   if(mTextbody.getText().toString().equals(getResources().getString(R.string.T3_Story))&& mAnswer_2_Button.getText().toString().equals(getResources().getString(R.string.T3_Ans2))&&mAnswer_1_Button.getText().toString().equals(getResources().getString(R.string.T3_Ans1))){
        mAnswer_1_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                mTextbody.setText(R.string.T6_End);
                mAnswer_1_Button.setVisibility(View.GONE);
                mAnswer_2_Button.setVisibility(View.GONE);

            }
        });
        **mAnswer_2_Button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mTextbody.setText(R.string.T5_End);
                mAnswer_1_Button.setVisibility(View.GONE);
                mAnswer_2_Button.setVisibility(View.GONE);
            }
        });
    }
}
}**

1 个答案:

答案 0 :(得分:0)

mTextbody.getText()在当前位置始终为空(除非TextView中有默认字符串)

将if条件移动到onClick方法体中。

有条件地执行操作。不要有条件地添加监听器。

每个按钮只需要一个OnClickListener