2016-04-14 12 views
0

インテントを別のクラスに渡そうとしていて、整数を正常に通過できましたが、バンドルを整数に変換する方法がわかりません。テントからバンドルを整数に変換する(インテント)

コード:

private void nextPage() 
{ 
    Intent intent = new Intent(this, Timer.class).putExtra("totalTime", totalTime); 
    startActivity(intent); 
} 

コードTimerクラスで:事前に

Bundle time = getIntent().getExtras(); 

    if(time == null) 
    { 
     timeDisp.setText("Failed."); 
    } 
    else 
    { 
     totalTimeMs = Integer.parseInt(String.valueOf(time)); 
     timeDisp.setText(totalTimeMs); 
    } 

感謝:)

答えて

0

意図は直接すべてのJavaのプリミティブ型を保持し、シリアライズ/ parcelableすることができますオブジェクト。

また、バンドルを保持できるという混乱が生じることがあります。

本当に整数をバンドルに入れる必要がありますか?論理的に結合された複数の値に対して真である可能性があります。

チェックIntent API

0

あなたtotalTimeはタイプintである場合は、putExtra()あなたを通過使用できる:

int time = getIntent().getExtras().getInt("totalTime"); 
0

あなたは、あなたの意図をバンドルに追加していないので、空のバンドルからデータを取得しようとしている受信アクティビティでは、そして、あなたがバンドルから文字列を取得します

private void nextPage() 
{ 
    Intent intent = new Intent(this, Timer.class); 
    Bundle b = new Bundle(): 
    b.putString("totalTime", totaltime); 

    intent.putExtras(b); 
    startActivity(intent); 
} 

次の方法でバンドルにデータを追加します

Intent intent = getIntent(); 
Bundle extras = intent.getExtras(); 

String time = extras.getString("totalTime"); 
+0

実際に新しいインテント(...)。putExtra( "tag"、value)は有効で、インテントバンドルにデータを追加します。 – Pooya

+0

毎日何か新しいことを学びます!ありがとう –

関連する問題