Android 从 onitemclick 调用 onactivityresult

标签 android

我需要使用 intent 从 onItemClick 方法将值从 1.java 传递到 2.Java 中的 onActivityResult

1.java

public void onItemClick(AdapterView<?> parent, View view, int position,long id) 
{     

    int songindex=position; 
    Intent intent2 = new Intent(this, Play.class);
    intent2.putExtra("songindex",songindex);
    setResult(100, intent2);
    startActivity(intent2);


}

2.java

public class Play extends Activity {
MediaPlayer mp;
int currentsong=0;  
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.play);
    currentsong=getIntent().getIntExtra("songindex",-1);

}



    @Override
    protected void onActivityResult(int requestCode, int resultCode,
            Intent data) {
        // TODO Auto-generated method stub
        super.onActivityResult(requestCode, resultCode, data);
        if(resultCode==100)
        {
            //Intent intent1=getIntent();
            //currentsong=getIntent().getExtras().getInt("songindex");
            pl(currentsong);
        }
    }

我的问题是 intent 值没有从 1.java 传递到 2.java,当单击 onItemClick 时,我需要使用 intent 传递值并调用方法 pl(songindex)

最佳答案

我认为您误解了 onActivityResult() 的工作原理。如果你想从 2.java 中的 extra 中获取值,请在 onCreate() 中使用 getIntent().getIntExtra("songindex", -1) (正如您实际所做的那样)。有关 Activity 以及如何在它们之间传递值的更多信息,请参见 here .

关于Android 从 onitemclick 调用 onactivityresult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020723/

相关文章:

java - 如何在android中将小时与相应的分钟分组?

Android AppwidgetProvider 从未调用过

android - 添加 View 使 fragment 内的 ListView 刷新

java - Bug - ListView -> 项目 -> 按钮 OnClick : Change background color of parent

android - 如何在房间中自动增加主键?

java - In-App Billing Android 和 bug

android - Imageview缩放保持高度固定和宽度可变

android - 送货回执请求不适用于 XMPP Android (aSmack)

android - 如何在我的 Android 应用中妥善管理音量?

android - 在 android 中清除 SurfaceView