小编Ron*_*nie的帖子

从自定义DialogPreference保存到SharedPreferences

我目前有一个首选项屏幕,我已经创建了一个自定义类,DialogPreference可以在我的首选项中调用.我的首选项数据似乎SharedPreferences没有问题存储/检索,但我正在尝试添加另外两组设置DialogPreference.

基本上我有两个我无法找到的问题.我见过的每个网站都给了我相同的标准信息来保存/恢复数据,我仍然遇到问题.首先,我正在尝试将用户名和密码保存到我的SharedPreferences(在最后一段代码中可见),如果可能的话,我希望能够在onClick().

我的首选项XML调用我DialogPreference:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

 <PreferenceCategory>   
 <com.rone.optusmon.AccDialog
  android:key="AccSettings"
  android:title="Account Settings"
  android:negativeButtonText="Cancel"
  android:positiveButtonText="Save" />   

 </PreferenceCategory> 
</PreferenceScreen> 
Run Code Online (Sandbox Code Playgroud)

我的自定义DialogPreference类文件:

package com.rone.optusmon;

import android.content.Context;
import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.preference.DialogPreference;
import android.preference.PreferenceManager;
import android.text.method.PasswordTransformationMethod;
import android.util.AttributeSet;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class AccDialog extends DialogPreference implements DialogInterface.OnClickListener {


 private TextView mUsername, mPassword;
 private EditText mUserbox, mPassbox;
 CharSequence …
Run Code Online (Sandbox Code Playgroud)

java android sharedpreferences

6
推荐指数
1
解决办法
7234
查看次数

通过CursorLoader中的'selection'参数过滤ListView

我要么我的语法不正确,要么我还没有理解Loaders如何工作,但我现在有一个ListView显示我的数据库中的所有项目.该活动有一个按钮,显示今天的日期.用户可以单击此按钮以显示日期对话框,或者可以按上一个/上一个按钮更改显示的日期.我想根据显示的日期过滤ListView,因此只显示保存日期的记录.

目前所有记录都显示

public Loader<Cursor> onCreateLoader(int id, Bundle args) {         
    CursorLoader cl = new CursorLoader(this, DBProvider.CONTENT_URI,
            null, null, null, null);
    return cl;
}
Run Code Online (Sandbox Code Playgroud)

我根据我在网上看到的内容尝试了一些变化,但实质上我试图包含一个'选择',将今天的日期显示为一个字符串(它已经通过SimpleDateFormatter并设置为按钮上的文本).

public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
    String[] selectDate = { btn_logbook_date.getText().toString() };
    CursorLoader cl = new CursorLoader(this, DBProvider.CONTENT_URI,
            null, "Date=?", selectDate , null);
    return cl;
}
Run Code Online (Sandbox Code Playgroud)

public Loader<Cursor> onCreateLoader(int id, Bundle args) { 
    String selectDate = btn_logbook_date.getText().toString();
    String selection = "(" + AddDBHelper.KEY_DATE + "=" + selectDate + ")";

    CursorLoader cl = new CursorLoader(this, DBProvider.CONTENT_URI, …
Run Code Online (Sandbox Code Playgroud)

sqlite android filter where-clause android-cursorloader

5
推荐指数
1
解决办法
9455
查看次数