【发布时间】:2013-12-23 00:28:34
【问题描述】:
我有 Activity_A 和 Activity_B。 我使用 onActivityResult 时出现问题:
java.lang.RuntimeException: 传递结果失败 ResultInfo{who=null, request=3, result=-1, data=Intent { (有附加功能) }} 到活动 {com.example.sellcar/com.example.sellcar.View_Offer}: android.database.CursorIndexOutOfBoundsException:请求索引 0, 大小为 0
我想我不能通过这种方式将“结果”从 alertDialog 传递给 onActivityResult。 我不知道如何解决这个问题:/ 请帮忙
Activity_A:
bBUTTON.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Activity_A.this,Activity_B.class);
startActivityForResult(intent, 3);
}
});
...
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 3 && resultCode == RESULT_OK){
String pId = data.getStringExtra("MyData");
Toast.makeText(Activity_A.this,pId,Toast.LENGTH_LONG).show();
}
}
Activity_B:
AlertDialog.Builder builder=new AlertDialog.Builder(View_Sell.this);
builder.setTitle("UWAGA !").setMessage("blablabla");
builder.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
String ostatnioDodanaSprzedaz="XYZ";
Intent intent = new Intent();
intent.putExtra("MyData", ostatnioDodanaSprzedaz);
setResult(RESULT_OK, intent);
onBackPressed();
} });
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
} });
AlertDialog ad = builder.create();
ad.show();
【问题讨论】:
-
我尝试用finish()代替onBackPressed()但是不行
标签: java android sqlite android-activity sdk