无法解析方法 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)的主要内容,如果未能解决你的问题,请参考以下文章

无法在Python中解析时间

ORA-12154_TNS无法解析指定的连接标识符

解析好的静态页面.shtml浏览器无法解析.需要apache解析后再返回给浏览器

http网址无法解析的处理

无法解析的外部符号

eclipse下遇到 无法解析类型 javax.servlet.http.HttpServletRequest