gpt4 book ai didi

android - 没有任何单选按钮的 ListPreferences?

转载 作者:行者123 更新时间:2023-11-29 16:18:34 26 4
gpt4 key购买 nike

我想在我的 PreferenceActivity 中创建一个 ListPreference。

单击 ListPreference 时,我会看到一个带有 ListView 的对话框。 ListView 中的每一行都有一个文本字段和一个单选按钮。

我不想要这个单选按钮和点击列表项,我想触发一个打开浏览器的 Intent ?知道如何去做吗?

如果我扩展 DialogPreference 那么如何处理 onClicks?像 onListClickListener 会起作用吗?

如果我扩展 ListPreference,我需要覆盖哪些功能?

最佳答案

这在您自定义首选项时是可能的。当您仅使用 Preference 时,它​​就像一个按钮。稍后您必须实现任何您想要的。下面的示例仅显示为您的要求。当您单击首选项时,它显示没有单选按钮的列表对话框。但我没有实现将数据存储在共享首选项中。如果你想这样做,你必须实现你自己的。我只是在这里发布一些代码。

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();
}

关于android - 没有任何单选按钮的 ListPreferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8382097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com