Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Listview嵌入Android的首选项中_Android_Android Listview_Android Preferences - Fatal编程技术网

将Listview嵌入Android的首选项中

将Listview嵌入Android的首选项中,android,android-listview,android-preferences,Android,Android Listview,Android Preferences,我需要在Preferences视图中显示一个列表,因此我创建了自己的类(继承Preference),然后将其设置为: @Override protected View onCreateView(ViewGroup parent){ cards = new ArrayList<String>(); // Test cards.add("4859-2368957415"); cards.add("4859-5987412598"); Line

我需要在Preferences视图中显示一个列表,因此我创建了自己的类(继承
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; 
}
@覆盖
受保护的视图onCreateView(视图组父级){
cards=新的ArrayList();
//试验
卡片。添加(“4859-2368957415”);
卡片。添加(“4859-5987412598”);
LinearLayout布局=新的LinearLayout(getContext());
LinearLayout.LayoutParams params=新的LinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_内容,LinearLayout.LayoutParams.WRAP_内容);
布局。设置方向(线性布局。垂直);
list=新的ListView(getContext());
list.setLayoutParams(参数);
布局。添加视图(列表);
适配器=新的ArrayAdapter(getContext(),
android.R.layout.simple_list_item_1,卡片);
list.setAdapter(适配器);
返回布局;
}
这是可行的,但我不能滚动它(它显示非常小)。我认为我的Listview嵌入到了一个首选项中(默认情况下有自己的宽度和高度),但我需要显示一个完整的列表


我怎样才能做到呢?谢谢

我解决了自己的问题,动态添加
首选项屏幕
,而不是将
列表视图
组件嵌入
首选项

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

    }
});

我解决了自己的问题,动态添加
首选项屏幕
,而不是将
列表视图
组件嵌入
首选项

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

    }
});

首选项屏幕是一个
列表视图
。无法将
列表视图
成功嵌入到
列表视图
中。最有可能的情况是,您希望为您的
首选项活动创建自己的布局,该活动在第一个下方有自己的
列表视图
,拆分屏幕。或者,使用标准的
列表首选项
。首选项屏幕是
列表视图
。无法将
列表视图
成功嵌入到
列表视图
中。最有可能的情况是,您希望为您的
首选项活动创建自己的布局,该活动在第一个下方有自己的
列表视图
,拆分屏幕。或者,坚持使用标准的
列表首选项