2017-02-14 17 views
-2

私のアクティビティの1つに、ボタンがあると、別のアクティビティに送信してTextViewに表示するバンドル内に文字列値を格納します。バンドルが作成されたときのためにAndroidスタジオ:バンドルが動作しない

コード:

public void enemy_seen(View view){ 

    Intent send_enemy = new Intent(rear_gunner.this, pilot.class); 
    String sight = "ENEMY SPOTTED"; 

    Bundle spotted = new Bundle(); 
    spotted.putString("TAG",sight); 
    send_enemy.putExtras(spotted); 



} 

このコードは、私は信じて....私は、この作品伝えることができるものから、これまでにクリックされたボタンをhapens。

束が第二の活性と呼ばれる。

public class pilot extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_pilot); 
    //sets screen orientation on created 
    this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 
    Bundle bundle = getIntent().getExtras(); 
    String something = bundle.getString("TAG"); 
    TextView enemy = (TextView) findViewById(R.id.enemy_spotted); 
    enemy.setText(something); 

} 
} 

活動負荷とクラッシュ。だから私は信じているバンドルを使うときに何かする必要がありますか?

enter image description here

+3

ポストクラッシュログ – rafsanahmad007

+1

あなたはインテントのためにnullをチェックするかもしれません。バンドルとチェックはバンドルに「TAG」が含まれていますので、実際のクラッシュの原因が見つかります。あなたのコードをデバッグするか、またはログを印刷して、問題が何であるかを明確にします。 –

+0

また、クラッシュログを投稿すると、textview null参照calもエラー – user3040153

答えて

1

私はあなたがバンドルを設定する意図から活動を開始する表示されません。

アクティビティは、そのインテントでそのアクティビティを発生させると、インテントに入れたバンドルのみを受信します。

バンドルをインテントに設定した後で、startActivity(send_enemy)を実行する必要があります。

+0

@GeorgeBrooksさんがあなたの問題を解決しましたか?はいの場合は、答えを受け入れてください –

関連する問題