2016-05-13 9 views
0

私はquiz.in my xmlのアプリケーションを開発しています。質問、4つのオプション(オプションはテキストビュー)、前後のボタンがあります。私は前と次のボタンをやった。私はオプションの問題に直面している。 1つの質問のオプションをクリックまたは選択すると、すべての質問オプションも選択されます。この動作を制御する方法は?どのようにそれを行うに役立ちますか?アンドロイドのクリックリスナーで1つのテキストビューを選択すると、すべてのテキストビューが選択されますか?

if (v == rb1) { 
     Toast.makeText(getApplicationContext(), rb1.getText().toString(), Toast.LENGTH_SHORT).show(); 
     // quelay.setVisibility(View.INVISIBLE); 
     // answer.setVisibility(View.VISIBLE); 
     db.updateContact(question.getText().toString()); 
     setNext(); 
    if (v == rb2) { 
     Toast.makeText(getApplicationContext(), rb1.getText().toString(), Toast.LENGTH_SHORT).show(); 
     // quelay.setVisibility(View.INVISIBLE); 
     // answer.setVisibility(View.VISIBLE); 
     db.updateContact(question.getText().toString()); 
     setNext(); 

答えて

0

これを試すことができます。

private View.OnClickListener mCorkyListener = new View.OnClickListener() { 
     public void onClick(View v) { 
      // do something when the button is clicked 
      // Yes we will handle click here but which button clicked??? We don't know 

      // So we will make 
      switch (v.getId() /*to get clicked view id**/) { 
       case R.id.rb1: 

        Toast.makeText(getApplicationContext(), rb1.getText().toString(), Toast.LENGTH_SHORT).show(); 
        //quelay.setVisibility(View.INVISIBLE); 
        //answer.setVisibility(View.VISIBLE); 
        db.updateContact(question.getText().toString()); 
        setNext(); 

        break; 
       case R.id.rb2: 

        Toast.makeText(getApplicationContext(), rb2.getText().toString(), Toast.LENGTH_SHORT).show(); 
        //quelay.setVisibility(View.INVISIBLE); 
        //answer.setVisibility(View.VISIBLE); 
        db.updateContact(question.getText().toString()); 
        setNext(); 

        break; 
       case R.id.rb3: 

        Toast.makeText(getApplicationContext(), rb3.getText().toString(), Toast.LENGTH_SHORT).show(); 
        //quelay.setVisibility(View.INVISIBLE); 
        //answer.setVisibility(View.VISIBLE); 
        db.updateContact(question.getText().toString()); 
        setNext(); 

        break; 

       case R.id.rb4: 

        Toast.makeText(getApplicationContext(), rb4.getText().toString(), Toast.LENGTH_SHORT).show(); 
        //quelay.setVisibility(View.INVISIBLE); 
        //answer.setVisibility(View.VISIBLE); 
        db.updateContact(question.getText().toString()); 
        setNext(); 

        break; 
       default: 
        break; 
      } 
     } 
    }; 
0

。のtoString()の両方conditonsで)あなたはrb1.getTextを(示し

if (v == rb1) { 
    Toast.makeText(getApplicationContext(), rb1.getText().toString(), Toast.LENGTH_SHORT).show(); 
    db.updateContact(question.getText().toString()); 
    setNext(); 
if (v == rb2) { 
    Toast.makeText(getApplicationContext(), rb2.getText().toString(), Toast.LENGTH_SHORT).show(); 

    db.updateContact(question.getText().toString()); 
    setNext(); 

、これを試してみてください。したがって、次のような2番目の条件部分を変更してください。

if (v == rb2) 
Toast.makeText(getApplicationContext(), rb2.getText().toString(), Toast.LENGTH_SHORT).show(); 
関連する問題