0

私のクラスはonClickListenerを実装しているので、これを行いました:

作成時:

   final ImageButton btn_audio = (ImageButton)findViewById(R.id.btn_tool_audio);
                    btn_audio.setOnClickListener(this);

onClick メソッド:

@Override
    public void onClick(View v) {
        switch(v.getId()){
          case R.id.btn_tool_audio:
              Bundle extras = getIntent().getExtras();
          String audio_text_url = extras.getString("audio_text_url");
              Intent launchAudio= new Intent(Intent.ACTION_VIEW, audio_text_url);
              startActivity(launchAudio);
               break;

しかし、文字列の値は「null」です。問題は、onClick メソッド内の前のアクティビティからその値を取得するにはどうすればよいですか?

参考までに、onCreate内でエクストラを呼び出すと、値を取得するのに問題はありません

4

3 に答える 3

2

onCreateのエクストラの文字列をメンバーに参照して後で使用してみてください。

private String _saveMe;

protected void onCreate(Bundle savedInstanceState) {

   _saveMe = getIntent().getExtras().getString("audio_text_url");
}
于 2012-04-24T14:06:45.520 に答える
1

使用する

Bundle extras = YOURCURRENTACTVITY.this.getIntent().getExtras(); 

それ以外の

Bundle extras = getIntent().getExtras();
于 2012-04-24T14:30:40.650 に答える
0

おそらく、onCreateからバンドルを取り出して、後で使用します。

Bundle bndl = null;

protected void onCreate(Bundle savedInstanceState) {
   ...
   ...
   bndl = getIntent().getExtras();
}


@Override
    public void onClick(View v) {
        switch(v.getId()){
          case R.id.btn_tool_audio:

          String audio_text_url = bndl.getString("audio_text_url");
              Intent launchAudio= new Intent(Intent.ACTION_VIEW, audio_text_url);
              startActivity(launchAudio);
               break;
于 2012-04-24T14:05:23.993 に答える