Android 显示首选项活动xml中的选择器

Android 显示首选项活动xml中的选择器,android,android-intent,preferenceactivity,Android,Android Intent,Preferenceactivity,更新 我得到这个错误: Syntax error on token(s), misplaced construct(s) 以下是更新的代码: public class SettingsFragment extends PreferenceActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

更新

我得到这个错误:

Syntax error on token(s), misplaced construct(s)
以下是更新的代码:

public class SettingsFragment extends PreferenceActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // Add a button to the header list.
        if (hasHeaders()) {
            TextView txt = new TextView(this);
            txt.setText("Falcon pro version 1.2 @falcon");
            txt.setGravity(Gravity.CENTER);
            setListFooter(txt);
        }

        Preference sharingPref = findPreference("sharing");

        sharingPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
            Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
            shareIntent.setType("text/plain");
            shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Share application");
            String shareMessage = "My text";
            shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
            startActivity(Intent.createChooser(shareIntent, "Share"));
            return true;
        });

    }

    public void onBuildHeaders(List<Header> target) {
        loadHeadersFromResource(R.xml.preferences, target);
    }

}

在设计首选项时,您应该遵循Android指南:

请参阅Api指南,以快速、完整地了解首选项类:


也许ListPreference正是您所需要的。

您应该遵循Android的偏好设计指南:

请参阅Api指南,以快速、完整地了解首选项类:


可能ListPreference就是您要查找的内容。

要访问preferenceActivity中的菜单项,您可以这样请求首选项:

Preference sharingPref = findPreference("sharing");
sharingPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
   public boolean onPreferenceClick(Preference preference) {
       Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Share application");
       String shareMessage = "My text";
       shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
       startActivity(Intent.createChooser(shareIntent, "Share"));
       return true;
   }
});
“共享”是首选项的

这样,您只需添加一个
setOnPreferenceClickListener
,如下所示:

Preference sharingPref = findPreference("sharing");
sharingPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
   public boolean onPreferenceClick(Preference preference) {
       Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Share application");
       String shareMessage = "My text";
       shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
       startActivity(Intent.createChooser(shareIntent, "Share"));
       return true;
   }
});
更新

对不起,我的原始代码中漏了一行:

public boolean onPreferenceClick(Preference preference) {

我现在已经更新了。

要访问preferenceActivity中的菜单项,您可以这样请求首选项:

Preference sharingPref = findPreference("sharing");
sharingPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
   public boolean onPreferenceClick(Preference preference) {
       Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Share application");
       String shareMessage = "My text";
       shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
       startActivity(Intent.createChooser(shareIntent, "Share"));
       return true;
   }
});
“共享”是首选项的

这样,您只需添加一个
setOnPreferenceClickListener
,如下所示:

Preference sharingPref = findPreference("sharing");
sharingPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
   public boolean onPreferenceClick(Preference preference) {
       Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Share application");
       String shareMessage = "My text";
       shareIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareMessage);
       startActivity(Intent.createChooser(shareIntent, "Share"));
       return true;
   }
});
更新

对不起,我的原始代码中漏了一行:

public boolean onPreferenceClick(Preference preference) {

我现在已经更新了。

谢谢,我已经编辑了我的帖子,你的代码有问题。请看一下我更新的帖子。更新后,我们有时都会有bug:)谢谢,我编辑了我的帖子,我对你的代码有问题。请看一下我更新的帖子。更新后,我们有时都会有bug:)