2017-11-11 11 views
0

ボタン1つでは違うことをしたい。
ボタンをクリックするたびに指示を変更しています。
最初に2つのボタンを作成していますが、ボタンをクリックしてそのテキストを変更します。それぞれのテキストについて、私は異なる指示を作成したい。
私はif/elseを作成しました。しかし、なぜ私が働いていないのか分かりません。
私は最初のステートメントでのみ指示を行います。ボタンごとに異なる指示

ここに私のコードです。 (あなたがTextViewの中にデフォルトの文字列を持っていない限り)、それが現在位置のWHERE

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

答えて

0

mTextbody.getText()は常に

移動する場合は空であるのonClickメソッド本体への条件。

条件付きでアクションを実行します。条件付きでリスナーを追加しないでください。

ボタンごとに1つのOnClickListenerが必要です。

関連する問題