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 中调用 extra 时,我在获取值方面没有任何问题

4

3 回答 3

2

尝试将 onCreate 中 extras 的 String 引用到成员并稍后使用它?

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

也许从on​​Create中取出捆绑包并稍后使用它。

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 回答