在我的片段中,我已经开始启动活动对于照片捕获的结束意图。我已经在片段类中重写了onActivityResult回调方法。我已经在主活动中实现了onActivityResult回调,用于其他一些意图。我的问题是片段 onActivity执行后的结果调用活动 onActivityResult 方法并返回空指针异常。片段活性结果方法
@Override
html" target="_blank">public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK)
{
prof_bitmap = null;
if (requestCode == 0)
{
Log.e("" ,"entered activity Result Code 0");
Uri photoUri = data.getData();
if (photoUri != null)
{
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = getActivity().getContentResolver().query(
photoUri, filePathColumn, null, null, null);
cursor.moveToFirst();
int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
String filePath = cursor.getString(columnIndex);
cursor.close();
Log.e("" ,"File Path" +filePath);
prof_bitmap = setImage(filePath);
}
}
if (requestCode == 1)
{
Log.e("" ,"entered activity Result Code 1");
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
prof_bitmap = bitmap;
Log.e("" ,"entered activity Result Code 1"+bitmap);
profile_pic.setImageBitmap(bitmap);
}
}
}
活动结果
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
Log.e("" ,"called onActivityResult in main");
Session.getActiveSession().onActivityResult(this, requestCode,
resultCode, data);
}
如何只调用片段 onactivityresult 方法?
我的Logcat
未能将结果ResultInfo{who=null,request=1,result=-1,data=Intent{act=inline data dat}传递给=content://media/external/images/media/222(具有额外功能)}}到活动{com.mobiotics.tvbudydemo/com.mobilotics.tvbuddyemo.tvbddymainactivity}:java.lang.NullPointerException
当您使用start ActivityForResult
启动的活动
完成调用完成()
时,将调用public val onActivityResult
尝试删除行< code > super . onactivityresult(request code,resultCode,data);在您的片段< code>onActivityResult()中。
如果您在活动中定义了onActivityResult,您不能跳过它并直接转到片段。但是,如果活动不知道如何处理它,您可以将其重定向到片段。使用唯一的请求代码来区分谁处理结果。
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
boolean processed = true;
if (resultCode == Activity.RESULT_OK)
{
if (requestCode == 0) {
// Something
} else if (requestCode == 1) {
// Something
} else {
processed = false;
}
} else { // Error
if (requestCode == 0) {
// Handle error
} else {
processed = false;
}
}
if (!processed) {
fragment1.onActivityResult(requestCode, resultCode, data);
fragment2.onActivityResult(requestCode, resultCode, data);
...
super.onActivityResult(requestCode, resultCode, data);
}
}
注意:确保调用getActivity()。startActivityForResult(),而不是简单地使用this.startActivityForResult()
public void something(Intent intent) {
getActivity().startActivityForResult(intent);
// or if you are using SherlockActionBar/Support package
getSupportActivity().startActivityForResult(intent);
}
希望这有帮助。
我在一个名为seedrecord的对象和一个名为FielliateLink的对象之间有一个manytomany关系。为了删除FielliateLink,我需要首先从每个SeedRecord的FielliateList中删除对它的引用。之后,我使用spring JParepository的delete方法删除对象。因为我的服务(FiniliateLinkService)中有不同的删除方法,所以我决定
我需要对setter方法进行一些过滤,并考虑修改它们,例如: 我不记得有任何这样的实现,它可能不合法(或至少不合适)。我是否应该编写名为的附加setter方法,将作为默认值?这种方式似乎不是打破豆子的方法。 第三个选项是像这样准备单独的过滤器类: 我认为这是常用的用法;但是第二种选择似乎更接近面向对象方法。哪种方式是正确的方式?
要在实例上调用方法,您必须获取实例的引用并调用该方法。该示例说明了如何获取引用和调用方法,检查 API 以获取可用方法的列表。 // 3 ways of doing the same thing $('#jstree').jstree(true) .select_node('mn1'); $('#jstree') .jstree('select_node', 'mn2'); $.
问题内容: 我正试图让nvidia-docker在我的centos7系统上运行: 到目前为止,一切都很好: 现在,让我们尝试使用nvidia运行时: 但是奇怪的是 问题答案: 所以…最后,我完全禁用了selinux并重新启动,并对其进行了修复。
问题内容: 说,我有一个带有SomeType的具有静态方法的Class对象的引用。有没有一种方法可以调用该方法而不先实例化SomeType?最好不要转义强类型。 编辑:好的,我搞砸了。 在这种情况下,someMethod()始终不能是静态的。 问题答案: 根据定义,静态方法是在类上调用的,而不是在该类的实例上调用的。 因此,如果您使用: 您没有实例化任何东西(不考虑由JVM处理并且超出了您的范围的
本文向大家介绍Android判断Activity是否在最上层的方法,包括了Android判断Activity是否在最上层的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android判断Activity是否在最上层的方法。分享给大家供大家参考,具体如下: 更多关于Android Activity相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》