2011-11-16 21 views
5

私はAndroid用の情報アプリを作っています。以前のクラスでどのボタンが押されたかに応じてボタンを変更する方法を理解できません。押されたボタンに基づいて情報を表示

私は、アプリがどのように動作するかを示し、この絵作られた:あなたは、同じクラスにあなたを送り、2つの新しいボタンが、3つのボタンで新しいクラスを取得最初のボタンをクリックした後

Flowchart

を2つのボタンのどちらを押したかによって、同じクラスに送られる3つのボタンは変わりますが、押したボタンに応じてテキストを変更するTextViewがあります。

ボタンに何らかの情報を追加する必要があります(意図していますか?)ので、以前に押したものが分かっています。

私はちょっと奇妙な方法で説明すると、JavaとAndroidの新機能ですので、ごめんなさい。事前

+1

Welcome to Stackoverflow!あなたが回答が役に立つと思うなら、それを投票してください。応答があなたの質問にうまく答えた場合は、その隣の緑のチェックマークをクリックして答えを受け入れてください。また、良い質問を書く方法については、http://stackoverflow.com/questions/how-to-askを参照してください。 –

答えて

3

感謝するたびに新しい活動を開始したが、その意図でいくつかの余分なボタンが表示されるべき次の活動を伝えます。次のアクティビティでは、あなたが持っているインテントからエキストラを読み、プログラムに従ってボタンのテキストをそれに応じて設定します。

ここにいくつかの擬似コードがあります。

public class FirstActivity extends Activity{ 

    //setup button 1 and two first, then set their onClickLiseners like so 

    View.OnClickListener clickListener = new View.OnClickListener(){ 
     public void onClick(View view){ 
     Intent newActivity = new Intent(FirstActivity.this, SecondActivity.class); 
     if(view == button1){ 
      //add extra to intent indicating button1 was clicked 
     } 
     else{ 
      //add extra to intent indicating button2 was clicked 
     } 
     startActivity(newActivity); 
     } 
    }; 


    // other stuff in your activity 
} 


public class SecondActivity extends Activity{ 

    protected void onCreate(Bundle icicle){ 
    Intent startedBy = getIntent(); 
    if(started by has the extra indicating button 1 was clicked){ 
     //do button1 stuff 
    } 
    else{ 
     //do button2 stuff 
    } 
    } 
} 


} 
関連する問題