如何替换从PreferenceActivity派生的类中的弃用代码?

时间:2015-12-06 16:37:50

标签: java android xml

我的android代码中有以下类:

public class UserSettingActivity extends PreferenceActivity{

    private Preference myPreference;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        myPreference = findPreference("reset");
        myPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            public boolean onPreferenceClick(Preference arg0) {
                AlertDialog.Builder alertDialog = new AlertDialog.Builder(UserSettingActivity.this);
                alertDialog.setMessage("Are you sure to delete the database?");
                alertDialog.setCancelable(true);
                alertDialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        final DBAdapter db = new DBAdapter(getApplicationContext());
                        db.open();
                        db.resetDatabase();

                    } });
                alertDialog.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.cancel();
                    } });
                alertDialog.show();
                return false;
            }
        });

    }

}

使用关联的xml文件,如下所示:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <EditTextPreference android:title="Your Name"
        android:key="username"
        android:summary="Please provide your username"></EditTextPreference>
    <CheckBoxPreference android:title="Application Updates"
        android:defaultValue="false"
        android:summary="This option if selected will allow the application to check for latest versions."
        android:key="applicationUpdates" />

    <Preference
        android:key="reset"
        android:title="Reset database"
        android:summary="This will remove every entry in the database"
         />
</PreferenceScreen>

其中方法addPreferencesFromResourcefindPreference被标记为已弃用。我找到了一个提示,可以按照here给出的示例。这是否意味着,我必须完全重写我的java类 xml布局文件?或者我可以重用xml布局文件吗?或者我需要创建另一个xml布局文件?我在示例中看到其中两个......

另外,在引用文本fragmented_preferences的示例中,我没有在xml layoutfiles中看到任何文本。我完全糊涂了!我无法开始翻译我的旧版&#39;代码为“新”&#39;码!

如何解决此问题,即替换我的代码中已弃用的方法?

0 个答案:

没有答案