這是可能的,當你自定義首選項。當你只使用首選項時,它的作用就像一個按鈕。以後你必須實現你想要的任何東西。下面的例子簡單地顯示爲你的需求。當你點擊首選項時,它顯示沒有單選按鈕的列表對話框。但我沒有實現將數據存儲在共享偏好設置中。如果你想這樣做,你必須實現你自己的。我只是在這裏發佈一些代碼。
prefereces=findPreference("intent");
// prefereces.setIntent(new Intent(Intent.ACTION_VIEW,Uri.parse("https://market.android.com/")));
// prefereces.setIntent(new Intent(getApplicationContext(), DynamicPreference.class));
prefereces.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// TODO Auto-generated method stub
createListPreferenceDialog();
return true;
}
});
}
private void createListPreferenceDialog()
{
Dialog dialog;
final CharSequence str[]={"Android","Black Berry","Symbian"};
AlertDialog.Builder b=new AlertDialog.Builder(PreferenceActivities1Activity.this);
b.setTitle("Mobile OS");
b.setItems(str, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int position)
{
showToast("I am Clicked "+str[position]);
// switch (position)
// {
// case 0:
// showToast("I am Clicked "+str[position]);
// break;
//
// default:
// break;
// }
}
});
dialog=b.create();
dialog.show();
}
public void showToast(String msg)
{
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show();
}
我還沒有任何代碼。我不知道從哪裏開始:( – Enigma
你提到你不想要一個單選按鈕,但是你想要什麼? – THelper