小编Vin*_*ran的帖子

如何在PreferenceFragmentCompat中实现RingtonePreference?

我正在使用一个AppCompactActivity创建一个应用程序,所有其他视图都使用Fragment.所以我想使用PreferenceFragmentCompat.但是当我创建它时,我收到以下错误.

02-29 10:50:01.080 9812-9812/com.example.main E/AndroidRuntime: FATAL EXCEPTION: main
  Process: com.example.main, PID: 9812
  android.view.InflateException: Binary XML file line #12: Error inflating class (not found)RingtonePreference
      at android.support.v7.preference.PreferenceInflater.createItemFromTag(PreferenceInflater.java:300)
      at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:358)
      at android.support.v7.preference.PreferenceInflater.rInflate(PreferenceInflater.java:360)
      at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:167)
      at android.support.v7.preference.PreferenceInflater.inflate(PreferenceInflater.java:117)
      at android.support.v7.preference.PreferenceManager.inflateFromResource(PreferenceManager.java:115)
      at android.support.v7.preference.PreferenceFragmentCompat.addPreferencesFromResource(PreferenceFragmentCompat.java:366)
      at com.example.main.PreferenceFragmentSettings.onCreate(PreferenceFragmentSettings.java:18)
      at android.support.v4.app.Fragment.performCreate(Fragment.java:1939)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1029)
      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248)
      at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:738)
      at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1613)
      at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:517)
      at android.os.Handler.handleCallback(Handler.java:739)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:135)
      at android.app.ActivityThread.main(ActivityThread.java:5343)
      at java.lang.reflect.Method.invoke(Native Method)
      at java.lang.reflect.Method.invoke(Method.java:372)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
   Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v7.preference.RingtonePreference" on path: DexPathList[[zip file "/data/app/com.example.main-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, …
Run Code Online (Sandbox Code Playgroud)

android android-preferences android-fragments

12
推荐指数
1
解决办法
2777
查看次数

传递具有空值的字符串作为参数时的排列字符串请求错误

我在排球上使用以下代码进行字符串请求

    pDialog = new ProgressDialog(context);
    pDialog.setMessage("Loading...");
    pDialog.setCancelable(false);
    pDialog.show();
    StringRequest strReq = new StringRequest(Method.POST,
        url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                pDialog.dismiss();
                Log.e(tag, response);                   
            }
        }, new Response.ErrorListener() {

            @Override
            public void onErrorResponse(VolleyError error) {
                pDialog.dismiss();
            }

        }) {

        protected Map<String, String> getParams(){
            Map<String, String> params = new HashMap<String, String>();
            params.put("tag", "SHOW_FILE");
            params.put("filename",filename);
            return params;
        };

    };      
    // Adding request to request queue
    Application.getInstance().addToRequestQueue(strReq, "get_file");
Run Code Online (Sandbox Code Playgroud)

如果变量filename = null,我收到以下错误:

08-02 10:28:06.192: E/Volley(2935): [2128] NetworkDispatcher.run: Unhandled exception java.lang.NullPointerException
08-02 10:28:06.192: …
Run Code Online (Sandbox Code Playgroud)

null android params android-volley

7
推荐指数
2
解决办法
2万
查看次数

Android Marshmallow - 如何知道"永不再问"再次检查

我想请求权限android.permission.ACCESS_COARSE_LOCATION获取塔位置.

但在请求该权限之前,我想知道用户是否通过选中"永不再询问"复选框来阻止它.

是否有正确的方法来了解"永不再问"权限?

=======================要求==========================

我想阻止用户在不授予位置访问权限的情况下进入屏幕.

所以我使用权限请求作为名为requestLocation()的函数,该函数在onResume()中调用.

里面的requestLocation()

- >检查是否允许

- >如果:已授予权限,则注册更新位置.

- > ELSE:未授权,用两个按钮显示授权许可对话

- >一个按钮执行代码"ActivityCompat.requestPermissions(..........);" 并显示内置弹出窗口以获得许可.

- >另一个按钮有助于退出应用程序.

当在onRequestPermissionsResult()中标记deny或grant时,将再次执行requestLocation().

但是,如果选中"Never again again"并单击deny,则无限循环将继续如下所示

onRequestPermissionsResult()=>

PERMISSION_DENIED =>

requestLocation()=>

权限未授予=>

ActivityCompat.requestPermissions(..........); =>

onRequestPermissionsResult()=> PERMISSION_DENIED => requestLocation()=>

权限未授予=>

ActivityCompat.requestPermissions(..........);

=> ...............

因此,如果我能够理解是否单击"再次显示",我可以通过在requestLocation()中检查它来退出循环.

android android-permissions android-6.0-marshmallow

4
推荐指数
1
解决办法
1755
查看次数

Android - 基于语言(英语和阿拉伯语)的非编程更改后退按钮

除了以编程方式之外,有没有办法根据语言更改后退按钮的方向?

我想要这个英文图标

我想要这个英文图标

我想要这个阿拉伯语

我想要这个阿拉伯语

multilingual icons android

0
推荐指数
1
解决办法
768
查看次数