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:)