相机不工作
Camera not working
我有 MainActivity,其中包含与相机相关的所有功能。
当我从 mainactivity 调用相机打开功能时工作正常。但是当我通过适配器调用主 activity 相机功能时,出现以下错误:-
1-10 15:53:48.494 5741-5741/user.com.test2 E/InputEventReceiver:
Exception dispatching input event. 11-10 15:53:48.494
5741-5741/user.com.test2 E/MessageQueue-JNI: Exception in MessageQueue
callback: handleReceiveCallback 11-10 15:53:48.494
5741-5741/user.com.test2 E/MessageQueue-JNI:
java.lang.NullPointerException: Attempt to invoke virtual method
'android.app.ActivityThread$ApplicationThread
android.app.ActivityThread.getApplicationThread()' on a null object
reference
at android.app.Activity.startActivityForResult(Activity.java:3794)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
at android.app.Activity.startActivityForResult(Activity.java:3755)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871)
at user.com.hlthee.Reminders.galleryIntent(Reminders.java:1049)
at user.com.hlthee.Reminders.onClick(Reminders.java:1033)
at com.android.internal.app.AlertController$AlertParams.onItemClick(AlertController.java:1082)
at android.widget.AdapterView.performItemClick(AdapterView.java:305)
at android.widget.AbsListView.performItemClick(AbsListView.java:1146)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3072)
at android.widget.AbsListView.onTouchUp(AbsListView.java:3920)
at android.widget.AbsListView.onTouchEvent(AbsListView.java:3657)
at android.view.View.dispatchTouchEvent(View.java:8476)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2400)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2093)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2372)
at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1719)
at android.app.Dialog.dispatchTouchEvent(Dialog.java:765)
at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2333)
at android.view.View.dispatchPointerEvent(View.java:8671)
at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4171)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4037)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3640)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3606)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3723)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3614)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3780)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3640)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3606)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3614)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5855)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5829)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5800)
at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5945)
at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
at android.os.MessageQueue.nativePollOnce(Native Method)
at android.os.MessageQueue.next(MessageQueue.java:143)
at androi 11-10 15:53:48.494 5741-5741/user.com.test2 D/AndroidRuntime:
Shutting down VM
从适配器调用:-
@Override
public void onBindViewHolder(final MedicineAdaptor.ViewHolder holder, final int position) {
holder.ReminderCardView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.i("On Long Pressed","Yes");
//Toast.makeText(context,Integer.toString(listMedicine.getId()),Toast.LENGTH_LONG).show();
//Creating the instance of PopupMenu
final PopupMenu popupMenu=new
PopupMenu(context,holder.ReminderCardView);
//Inflating the Popup using xml file
popupMenu.getMenuInflater().inflate(R.menu.reminder_options,popupMenu.getMenu());
//registering popup with OnMenuItemClickListener
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getTitle().equals("Edit Details"))
{
//Edit details
//((AddReminder)mactivity).openDialogToAddReminder();
Reminders reminders=new Reminders();
reminders.openDialogToAddReminder(context, dbHelper, listMedicine.getRemender_id(),listMedicine.getId());
update(listMedicine);
}
return false;
}
});
popupMenu.show(); //showing popup menu
return false;
}
});
}
MainActivity.java
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
**if (takingPictureCameraintent.resolveActivity(getPackageManager())!=null)**
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
logcat 显示上面突出显示的行的错误:-
完成的研究:- 从我使用 google 和 stackoverfollow 得出的结论来看。这是因为上下文。
所以我试过了
context.getPackageManager()
但是通过这样做,相机在 mainActivity 中也无法正常工作。
编辑:--
Mainactivity.java
public void openDialogToAddReminder(final Context context, final DbHelper dbHelper, final int Rem_id, final int Med_id) {
LayoutInflater layoutInflaterAndroid = LayoutInflater.from(context);
final View mView = layoutInflaterAndroid.inflate(R.layout.add_reminders_dialog, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(context, R.style.myDialog));
alertDialogBuilder.setView(mView);
captureImage = (ImageButton) mView.findViewById(R.id.capture_image);
captureImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectImage(context);
}
});
alertDialogBuilder
.setCancelable(false)
.setPositiveButton(dialog_title, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
public void selectImage(final Context context) {
final CharSequence[] items = { "Take Photo", "Choose from Gallery",
"Cancel" };
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(context);
builder.setTitle("Add Photo");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
boolean result= Utility.checkPermission(context);
if (items[item].equals("Take Photo")) {
userChoosenTask ="Take Photo";
if(result)
cameraIntent(context);
} else if (items[item].equals("Choose from Gallery")) {
userChoosenTask ="Choose from Gallery";
if(result)
galleryIntent(context);
} else if (items[item].equals("Cancel")) {
dialog.dismiss();
}
}
});
builder.show();
}
public void galleryIntent(Context context)
{
Log.i("Context ",context.toString());
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE);
}
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takingPictureCameraintent.resolveActivity(context.getPackageManager())!=null)
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data);
}
}
public void onCaptureImageResult(Intent data)
{
try{
Bundle extras=data.getExtras();
Bitmap thumbnail = (Bitmap) extras.get("data");
Log.i("Image Camera Bitmap ",thumbnail.toString());
ByteArrayOutputStream bytes=new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90,bytes);
captureImage.setImageBitmap(thumbnail);
saveToGallery(thumbnail);
}
catch (Exception e){e.printStackTrace();}
}
更新:-
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (context.getClass().getSimpleName().equals("ListReminders"))
{
context.**startActivityForResult()** // bolded region is red color. means no fuction found.
}
else
{
if (takingPictureCameraintent.resolveActivity(context.getPackageManager())!=null)
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data);
}
}
public void onCaptureImageResult(Intent data)
{
try{
Bundle extras=data.getExtras();
Bitmap thumbnail = (Bitmap) extras.get("data");
Log.i("Image Camera Bitmap ",thumbnail.toString());
ByteArrayOutputStream bytes=new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90,bytes);
**captureImage.setImageBitmap(thumbnail);** // getting nullpointerexception
saveToGallery(thumbnail);
}
catch (Exception e){e.printStackTrace();}
}
你有没有在 Manifest.xml
中插入相机权限?
<uses-permission android:name="android.permission.CAMERA"/>
试试这个。
由于您正在从适配器 class 调用 cameraIntent
。在这个方法中,startActivtyForResult()
是 activity class 的方法。从适配器调用时,您需要调用 context.startActivtyForResult()
而不是调用 startActivtyForResult()
。
你可以通过在openDialogToAddReminder
中添加一个callType
参数来实现。
if(callType.equals("fromActivity"))
{
startActivtyForResult(....);
}
else
{
((Activity)context).startActivityForResult();
}
我有 MainActivity,其中包含与相机相关的所有功能。 当我从 mainactivity 调用相机打开功能时工作正常。但是当我通过适配器调用主 activity 相机功能时,出现以下错误:-
1-10 15:53:48.494 5741-5741/user.com.test2 E/InputEventReceiver: Exception dispatching input event. 11-10 15:53:48.494 5741-5741/user.com.test2 E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 11-10 15:53:48.494 5741-5741/user.com.test2 E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method 'android.app.ActivityThread$ApplicationThread android.app.ActivityThread.getApplicationThread()' on a null object reference at android.app.Activity.startActivityForResult(Activity.java:3794) at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75) at android.app.Activity.startActivityForResult(Activity.java:3755) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871) at user.com.hlthee.Reminders.galleryIntent(Reminders.java:1049) at user.com.hlthee.Reminders.onClick(Reminders.java:1033) at com.android.internal.app.AlertController$AlertParams.onItemClick(AlertController.java:1082) at android.widget.AdapterView.performItemClick(AdapterView.java:305) at android.widget.AbsListView.performItemClick(AbsListView.java:1146) at android.widget.AbsListView$PerformClick.run(AbsListView.java:3072) at android.widget.AbsListView.onTouchUp(AbsListView.java:3920) at android.widget.AbsListView.onTouchEvent(AbsListView.java:3657) at android.view.View.dispatchTouchEvent(View.java:8476) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2400) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2093) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2406) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2107) at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2372) at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1719) at android.app.Dialog.dispatchTouchEvent(Dialog.java:765) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2333) at android.view.View.dispatchPointerEvent(View.java:8671) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4171) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4037) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3640) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3606) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3723) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3614) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:3780) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3640) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3606) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:3614) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3587) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:5855) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:5829) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:5800) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:5945) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:143) at androi 11-10 15:53:48.494 5741-5741/user.com.test2 D/AndroidRuntime: Shutting down VM
从适配器调用:-
@Override
public void onBindViewHolder(final MedicineAdaptor.ViewHolder holder, final int position) {
holder.ReminderCardView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
Log.i("On Long Pressed","Yes");
//Toast.makeText(context,Integer.toString(listMedicine.getId()),Toast.LENGTH_LONG).show();
//Creating the instance of PopupMenu
final PopupMenu popupMenu=new
PopupMenu(context,holder.ReminderCardView);
//Inflating the Popup using xml file
popupMenu.getMenuInflater().inflate(R.menu.reminder_options,popupMenu.getMenu());
//registering popup with OnMenuItemClickListener
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){
@Override
public boolean onMenuItemClick(MenuItem item) {
if (item.getTitle().equals("Edit Details"))
{
//Edit details
//((AddReminder)mactivity).openDialogToAddReminder();
Reminders reminders=new Reminders();
reminders.openDialogToAddReminder(context, dbHelper, listMedicine.getRemender_id(),listMedicine.getId());
update(listMedicine);
}
return false;
}
});
popupMenu.show(); //showing popup menu
return false;
}
});
}
MainActivity.java
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
**if (takingPictureCameraintent.resolveActivity(getPackageManager())!=null)**
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
logcat 显示上面突出显示的行的错误:-
完成的研究:- 从我使用 google 和 stackoverfollow 得出的结论来看。这是因为上下文。
所以我试过了 context.getPackageManager()
但是通过这样做,相机在 mainActivity 中也无法正常工作。
编辑:--
Mainactivity.java
public void openDialogToAddReminder(final Context context, final DbHelper dbHelper, final int Rem_id, final int Med_id) {
LayoutInflater layoutInflaterAndroid = LayoutInflater.from(context);
final View mView = layoutInflaterAndroid.inflate(R.layout.add_reminders_dialog, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(new ContextThemeWrapper(context, R.style.myDialog));
alertDialogBuilder.setView(mView);
captureImage = (ImageButton) mView.findViewById(R.id.capture_image);
captureImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
selectImage(context);
}
});
alertDialogBuilder
.setCancelable(false)
.setPositiveButton(dialog_title, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
})
.setNegativeButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}
public void selectImage(final Context context) {
final CharSequence[] items = { "Take Photo", "Choose from Gallery",
"Cancel" };
android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(context);
builder.setTitle("Add Photo");
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int item) {
boolean result= Utility.checkPermission(context);
if (items[item].equals("Take Photo")) {
userChoosenTask ="Take Photo";
if(result)
cameraIntent(context);
} else if (items[item].equals("Choose from Gallery")) {
userChoosenTask ="Choose from Gallery";
if(result)
galleryIntent(context);
} else if (items[item].equals("Cancel")) {
dialog.dismiss();
}
}
});
builder.show();
}
public void galleryIntent(Context context)
{
Log.i("Context ",context.toString());
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);//
startActivityForResult(Intent.createChooser(intent, "Select File"),SELECT_FILE);
}
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takingPictureCameraintent.resolveActivity(context.getPackageManager())!=null)
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data);
}
}
public void onCaptureImageResult(Intent data)
{
try{
Bundle extras=data.getExtras();
Bitmap thumbnail = (Bitmap) extras.get("data");
Log.i("Image Camera Bitmap ",thumbnail.toString());
ByteArrayOutputStream bytes=new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90,bytes);
captureImage.setImageBitmap(thumbnail);
saveToGallery(thumbnail);
}
catch (Exception e){e.printStackTrace();}
}
更新:-
public void cameraIntent(Context context)
{
Intent takingPictureCameraintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (context.getClass().getSimpleName().equals("ListReminders"))
{
context.**startActivityForResult()** // bolded region is red color. means no fuction found.
}
else
{
if (takingPictureCameraintent.resolveActivity(context.getPackageManager())!=null)
startActivityForResult(takingPictureCameraintent, REQUEST_CAMERA);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromGalleryResult(data);
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data);
}
}
public void onCaptureImageResult(Intent data)
{
try{
Bundle extras=data.getExtras();
Bitmap thumbnail = (Bitmap) extras.get("data");
Log.i("Image Camera Bitmap ",thumbnail.toString());
ByteArrayOutputStream bytes=new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.JPEG, 90,bytes);
**captureImage.setImageBitmap(thumbnail);** // getting nullpointerexception
saveToGallery(thumbnail);
}
catch (Exception e){e.printStackTrace();}
}
你有没有在 Manifest.xml
中插入相机权限?
<uses-permission android:name="android.permission.CAMERA"/>
试试这个。
由于您正在从适配器 class 调用 cameraIntent
。在这个方法中,startActivtyForResult()
是 activity class 的方法。从适配器调用时,您需要调用 context.startActivtyForResult()
而不是调用 startActivtyForResult()
。
你可以通过在openDialogToAddReminder
中添加一个callType
参数来实现。
if(callType.equals("fromActivity"))
{
startActivtyForResult(....);
}
else
{
((Activity)context).startActivityForResult();
}