2010-12-11 1 views
2

私はAndroidアプリを書いています。アクティビティの1つはListActivityです。その人がリスト内のアイテムを選択すると、そのアイテムのテキスト値をIntent/Bundleに保存して、次のアクティビティがその値を知るようにします。私のコードは次のようになります。バンドルに入れた情報にアクセスしようとすると、Androidのアクティビティが強制終了するのはなぜですか?

lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView parent, View view, 
      int position, long id) { 

      Intent intent = new Intent(view.getContext(), FavoriteEditFromDest.class); 
      intent.putExtra("com.example.myapp.Name", ((TextView) view).getText()); 

      startActivity(intent); 
     } 
     }); 
    }

次のようにルックスを開始する活動のためのonCreateメソッド:私はListActivityのリストから項目をクリックすると

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.favorite_dest_edit); 

      // nameB is a global string variable defined above. 
     nameB = savedInstanceState.getString("com.example.myapp.Name"); 
    }

は、それが始まりますonCreateコードを実行するには、文字列値を取得しようとする行に到達すると強制終了ダイアログが表示されます。

私はバンドルで情報を渡す経験はあまりないので、何かすべての助けに感謝します!

答えて

4
nameB = savedInstanceState.getString("com.example.myapp.Name"); 

Bundle bundle = getIntent().getExtras(); 
nameB = bundle.getString("com.example.myapp.Name"); 

それを試してみるとそれが助けかどうかを確認して交換する必要があります。他の問題

intent.putExtra("com.example.myapp.Name", ((TextView) view).getText()); 

の中

+0

であるべき。これは有望に見える、私はそれを試してみると、あなたはそれがどのようになるお知らせします。前もって感謝します! – jbranchaud

1

adb logcat、DDMS、またはEclipseのDDMSパースペクティブを使用してスタックトレースを調べ、「強制終了」をトリガした例外を確認します。この場合

は、私はあなたがgetText()Stringを返さないので、何をBundleに入れることは、Stringないことがわかりますと思われます。しかし、それはちょうど推測です - あなたのスタックトレースはあなたにもっと言わなければなりません。

0

intent.putExtra("com.example.myapp.Name", ((TextView) view).getText().toString()); 
+0

他に何か問題がありますか? – jbranchaud

関連する問題