1.首先,我在AndroidManifest.xml中为ActA这个Activity添加一个android:launchMode="singleTask"
2.我需要在ActA中弹出一个菜单,调用AlertDialog.Builder相关方法及对象
3.选择某个弹出菜单项,调用
Intent intent = new Intent();
intent.setClass(ActA.this, ***.class);
startActivityForResult(intent, 0);
4.每次调用startActivityForResult后都会自动调用onActivityResult方法,这个并非我想要的我移除android:launchMode="singleTask",然后发现调用startActivityForResult后不会再调用onActivityResult方法
对此我明白为什么,求解
2.我需要在ActA中弹出一个菜单,调用AlertDialog.Builder相关方法及对象
3.选择某个弹出菜单项,调用
Intent intent = new Intent();
intent.setClass(ActA.this, ***.class);
startActivityForResult(intent, 0);
4.每次调用startActivityForResult后都会自动调用onActivityResult方法,这个并非我想要的我移除android:launchMode="singleTask",然后发现调用startActivityForResult后不会再调用onActivityResult方法
对此我明白为什么,求解
解决方案 »
- 关于Android播h264的视频
- 安卓下哪只Adapter最靠谱?
- Android的SQLite不支持“中文表名”吗?
- 求教:学习C++需要什么知识(C语言已学过)
- 又见 java.lang.NullPoin 错误!!!???
- 初学者求助 关于DDMS下file Explorer 文件的显示问题
- 没有基础,想学安卓编程,不知从何入手,希望高手指点!
- NDK,以后会是android开发的主流吗?我想听听大家的意见
- android 回调接口的设计,接收数据不到指定界面的接口上
- 求助一个数据库问题!
- android 在耗时操作里面怎么显示ProgressDialog?
- 使用SurfaceView 控件做界面,但按BACK键时不会触发surfaceCreated事件。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.t);
Button t_button = (Button)findViewById(R.id.t_button);
t_button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final CharSequence[] items = {"从产品库选择", "制定产品名称", "从最近使用中选择"};
AlertDialog.Builder builder = new AlertDialog.Builder(TestActivity.this);
builder.setTitle("选择产品");
builder.setPositiveButton("取消",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
dialog.cancel();
switch(item){
case 0:
break;
case 1:
Intent intent = new Intent();
intent.setClass(TestActivity.this, CreateProductActivity.class);
TestActivity.this.startActivityForResult(intent, 0);
//gotoAlterSelected(SUN_CREATE_PRODUCT,CreateProductActivity.class);
break;
case 2:break;
}
}
}).show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode,Intent intent){
super.onActivityResult(requestCode, resultCode, intent);
if (resultCode != RESULT_OK) return;
}}配置文件代码<activity android:name=".ActA" android:launchMode="singleTask" android:screenOrientation="portrait">
CreateProductActivity
//gotoAlterSelected(SUN_CREATE_PRODUCT,CreateProductActivity.class);
这个和android:launchMode="singleTask"没关系吧
不是每次调用startActivityForResult就会自动调用onActivityResult的,是在被调用的activity end时或是直接发setResult才会调用onActivityResult。你可以自己调试看看。
拷贝的楼主的原话,太大意了。像你说的,只有被调用的activity结束时或者设置setResult时才会调用onActivityResult方法