托管此片段的活动onActivityResult在相机活动返回时调用.
我的片段开始一个结果的活动,其意图是发送给相机拍照.图片应用程序加载正常,拍照并返回.该onActivityResult然而,永远不会打.我设置了断点,但没有触发任何东西.一个片段可以onActivityResult吗?我想是因为它是一个提供的功能.为什么不被触发?
ImageView myImage = (ImageView)inflatedView.findViewById(R.id.image);
myImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, 1888);
}
});
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if( requestCode == 1888 ) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
((ImageView)inflatedView.findViewById(R.id.image)).setImageBitmap(photo);
}
}
Run Code Online (Sandbox Code Playgroud) 我的例子中有3个类:A类,主要活动.A类调用startActivityForResult:
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
Run Code Online (Sandbox Code Playgroud)
B类,这个类是一个TabActivity:
Intent intent = new Intent(this, ClassC.class);
tabHost.addTab...
Run Code Online (Sandbox Code Playgroud)
C类,这个类是一个常规的Activity:
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)
onActivityResult在类A中调用,但resultCode RESULT_CANCELED代替,RESULT_OK返回的intent为null.如何从TabHost中的Activity返回一些内容?
我意识到问题是我的C类实际上是在B类中运行,而B类是返回RESULT_CANCELED到A类的.我只是不知道一个解决方法.
是否可以startActivtyForResult在适配器中使用方法 ?然后如何获得响应?在哪里执行回叫功能?