gpt4 book ai didi

android - 将 Listview 嵌入到 Android 的首选项中

转载 作者:行者123 更新时间:2023-11-30 04:16:16 28 4
gpt4 key购买 nike

我需要在 Preferences View 中显示一个列表,所以我创建了自己的类(继承 Preference),然后像这样设置它:

@Override
protected View onCreateView(ViewGroup parent){

cards = new ArrayList<String>();

// Test
cards.add("4859-2368957415");
cards.add("4859-5987412598");

LinearLayout layout = new LinearLayout(getContext());
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
layout.setOrientation(LinearLayout.VERTICAL);

list = new ListView(getContext());
list.setLayoutParams(params);
layout.addView(list);
adapter = new ArrayAdapter<String>(getContext(),
android.R.layout.simple_list_item_1, cards);
list.setAdapter(adapter);
return layout;
}

这有效,但我无法滚动它(它显示得非常小)。我认为我的 Listview 嵌入到首选项中(默认情况下有自己的宽度和高度),但我需要显示一个完整的列表。

我怎样才能实现它?谢谢!

最佳答案

我通过动态添加 PreferenceScreen 而不是将 ListView 组件嵌入到 Preference 中解决了我自己的问题。

findPreference("addmyaccount").setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {

SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();

// Get preference category and add a custom preference (simulating a ListView)
PreferenceCategory targetCategory = (PreferenceCategory)findPreference("myaccounts");
final Preference account = new Preference(Settings.this);

account.setKey("mykey");

account.setTitle("Custom Preference");

targetCategory.addPreference(account);
editor.putString("mykey", "Custom Preference");
editor.commit();

}
});

关于android - 将 Listview 嵌入到 Android 的首选项中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9947539/

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