Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.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
更新微调器列表项选择上的列表元素-Android_Android_Listview_Android Listview - Fatal编程技术网

更新微调器列表项选择上的列表元素-Android

更新微调器列表项选择上的列表元素-Android,android,listview,android-listview,Android,Listview,Android Listview,一点背景:我在市场上有一个稳定的教程应用程序。最近,用户一直在请求一些外部资源,以便了解更多信息。这个问题是关于我提出的解决方案 我有一个活动,上面有一个列表视图和一个微调器 listview一次最多可以填充25个元素(我是否应该减少它。。。。我希望微调器具有类似(1-25、26-50、51-75)的选项 默认值可以设置为1-25。根据用户的选择,我需要相应地重新填充listview。我认为二维数组是最简单的。但我也不想妨碍演出 不管怎么说,这就是我所做的。我需要知道如何准确地更新微调器OnCl

一点背景:我在市场上有一个稳定的教程应用程序。最近,用户一直在请求一些外部资源,以便了解更多信息。这个问题是关于我提出的解决方案

我有一个活动,上面有一个列表视图和一个微调器

listview一次最多可以填充25个元素(我是否应该减少它。。。。我希望微调器具有类似(1-25、26-50、51-75)的选项

默认值可以设置为1-25。根据用户的选择,我需要相应地重新填充listview。我认为二维数组是最简单的。但我也不想妨碍演出

不管怎么说,这就是我所做的。我需要知道如何准确地更新微调器OnClick中的listview元素

  Spinner spinner;
    String path[] = {"Laptops","DesktopPC","Tablets","Add-Ons","Gaming"};
    String Laptops[] = {"Dell","Hp","Apple"};
    ListView lstView;


            lstView = (ListView) findViewById(R.id.listView1);

            ArrayAdapter<String> adapter = new ArrayAdapter<String> (Category.this, android.R.layout.simple_spinner_item, path );
            spinner = (Spinner) findViewById(R.id.spinner1);
            spinner.setAdapter(adapter);
            spinner.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> arg0, View arg1,
                        int arg2, long arg3) {
                    // TODO Auto-generated method stub
                    ArrayAdapter<String> lstAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, Laptops);
                    lstView.setAdapter(lstAdapter);
                    //lstView.refreshDrawableState();

                }
            });
微调器微调器;
字符串路径[]={“笔记本电脑”、“桌面电脑”、“平板电脑”、“附加组件”、“游戏”};
字符串笔记本电脑[]={“戴尔”、“惠普”、“苹果”};
列表视图;
lstView=(ListView)findViewById(R.id.listView1);
ArrayAdapter=新的ArrayAdapter(Category.this,android.R.layout.simple\u微调器\u项,路径);
微调器=(微调器)findViewById(R.id.spinner1);
旋转器。设置适配器(适配器);
spinner.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
公共链接(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
ArrayAdapter lstAdapter=新的ArrayAdapter(getApplicationContext(),android.R.layout.simple\u list\u item\u 1,笔记本电脑);
setAdapter(lstAdapter);
//lstView.refreshDrawableState();
}
});
假设我必须根据微调器选择在两个数组之间切换


谢谢你的阅读!如果您需要更多信息,请询问:-)

ListView用于显示数据列表,您正试图通过添加微调器在列表数据的子部分之间切换来解构数据列表。为什么不能将所有内容都添加到ListView,然后如果必须滚动到ListView中的特定位置,请使用微调器?我的ListView可能会包含许多(200+)项。。。考虑到性能,我认为立即初始化整个过程会导致前所未有的滞后。我同意温特布拉德的观点,我认为更好的方法是在列表视图中使用行循环,这样显示的项目数量就不会成为问题,然后在必要时使用微调器或其他导航方法在列表中向下移动。考虑其他应用程序如何处理长列表(例如Gmail),主要是利用无限列表、页面(类似于您的建议)或过滤器。Android只在可见时填充ListVIEW视图。例如,您的列表包含1000个项目,但一次只有8个项目可见,那么android将只填充8个列表项目。如果向下滚动,则会填充更多内容,而上面的内容可能会重复使用。因此不会对性能造成影响。@RohanKandwal它主要取决于适配器的
getView()
方法在做什么。如果正在加载图像,则可能会成为瓶颈。