2012-03-11 4 views
0
Button novice = (Button) findViewById(R.id.novice); 

novice.setOnClickListener(new OnClickListener(){ 

    public void onClick(View v) { 
     Intent nov = new Intent(getApplicationContext(), gameface.class); 
     startActivity(nov); 
     nov.putExtra("lvl", "1"); 
    } 
}); 

Button easy1 = (Button) findViewById(R.id.easy); 
easy1.setOnClickListener(new OnClickListener(){ 
    public void onClick(View v) { 
     Intent eas = new Intent(getApplicationContext(), gameface.class); 
     startActivity(eas); 
     eas.putExtra("lvl", "2"); 
    } 
}); 

ので、私はボタンを押すと、それがあったが、それは仕事をdoesntのどのボタンキャプチャするために、新たな活動にこの私は4つのボタンに1つのアクティビティを指示しました。これは私のコードである

Intent g = getIntent(); 
String x = g.getStringExtra("lvl"); 

を使用しての考えを用いてデータを送信しようとしました。

誰かが私に何を教えてもらえますか?

+0

hi shiva、常にstartActivity()に渡す前にIntentに値を入れてください。 –

答えて

2

あなたはeas.putExtra("lvl", "2");startActivity(eas);前に呼び出す必要があります:あなたが使用して文字列を比較してコードに記載されていないが、また

public void onClick(View v) { 
    Intent eas = new Intent(getApplicationContext(), gameface.class); 
    eas.putExtra("lvl", "2"); 
    startActivity(eas); 
} 

は、確認して「等しい」としませ==

+0

ありがとうございます!どのように私の愚かなデータを送信した後に送信するものを設定する。 :P –

+0

問題ありません。おやすみ :) – MByD

2

アクティビティを開始する前に、エクストラをインテントに配置する必要があります。

eas.putExtra("lvl", "2"); 
startActivity(eas);  
1

彼らはputExtraは、あなたが新しいアクティビティでそれを引き出すことができますので、あなたが意図にデータを追加する方法であるため、意図を呼び出す前にeas.putExtraを置くためにあなたを語っています。インテントを受け取ったら、インテントオブジェクトからこのシリアライズされたデータを取り出し、新しいアクティビティで使用することができます。これは、Androidでは各アクティビティが独自の小さなサンドボックスであり、インテントを通じて他のアクティビティとしか操作できないため、アクティビティ間に「余分な」データを渡す方法です。

関連する問題