无法解析方法 show(android.app.FragmentManager, java.lang.String)
Posted
技术标签:
【中文标题】无法解析方法 show(android.app.FragmentManager, java.lang.String)【英文标题】:Cannot resolve for method show(android.app.FragmentManager, java.lang.String) 【发布时间】:2016-06-04 15:15:18 【问题描述】:我使用的是 API 23。使用使用 v4 的 RadialTimePickerDialogFragment
父activity基于Activity(我们不需要
我为什么会得到
无法解析方法 show(android.app.FragmentManager, java.lang.String)
import com.codetroopers.betterpickers.radialtimepicker.RadialTimePickerDialogFragment;
import android.support.v4.app.DialogFragment;
import com.gtfp.workingmemory.BuildConfig;
import com.gtfp.workingmemory.R;
import com.gtfp.workingmemory.colorPicker.colorPickerActivity;
import com.gtfp.workingmemory.colorPicker.colorPickerView;
import com.gtfp.workingmemory.frmwrk.frmwrkActivity;
import com.gtfp.workingmemory.settings.SettingsActivity;
import com.gtfp.workingmemory.settings.appSettings;
import com.gtfp.workingmemory.todo.ToDoAlarm;
import com.gtfp.workingmemory.todo.ToDoItem;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;
:
:
:
:
RadialTimePickerDialogFragment rtpd = new RadialTimePickerDialogFragment()
.setOnTimeSetListener(editToDoItem.this)
.setStartTime(10, 10)
.setThemeDark();
rtpd.show(getFragmentManager(), FRAG_TAG_TIME_PICKER);
【问题讨论】:
【参考方案1】:解决方案:RadialTimePickerDialogFragment
中的 show 方法需要 v4 FragmentManager(即 getSupportFragmentManager)。显然,RadialTimePickerDialogFragment 是一个老类。
这意味着将父 Activity 从扩展 Activity 更改为扩展 android.support.v4.app.FragmentActivity
并使用 getSupportFragmentManager()
而不是 getFragmentManager()
。
public class editToDoItem extends android.support.v4.app.FragmentActivity
:
:
:
RadialTimePickerDialogFragment rtpd = new RadialTimePickerDialogFragment()
.setOnTimeSetListener(editToDoItem.this)
.setStartTime(mTP.getCurrentHour(),mTP.getCurrentMinute());
rtpd.show(getSupportFragmentManager(), FRAG_TAG_TIME_PICKER);
【讨论】:
以上是关于无法解析方法 show(android.app.FragmentManager, java.lang.String)的主要内容,如果未能解决你的问题,请参考以下文章