Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.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 getListView()将函数更改为Gridview_Android_Listview_Gridview - Fatal编程技术网

Android getListView()将函数更改为Gridview

Android getListView()将函数更改为Gridview,android,listview,gridview,Android,Listview,Gridview,如何更改此行以获得GridView?在布局中定义GridView ListView lv = getListView(); GridView GridView=(GridView)findviewbyd(R.id.GridView); setAdapter(新的ImageAdapter(this)); setOnItemClickListener(新的OnItemClickListener(){ public void onItemClick(AdapterView父视图、视图v、, 内部位置

如何更改此行以获得GridView?

在布局中定义
GridView

ListView lv = getListView();
GridView GridView=(GridView)findviewbyd(R.id.GridView);
setAdapter(新的ImageAdapter(this));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
Toast.makeText(HelloGridView.this,“+位置,
吐司。长度(短)。show();
}
});

在布局中定义
网格视图

ListView lv = getListView();
GridView GridView=(GridView)findviewbyd(R.id.GridView);
setAdapter(新的ImageAdapter(this));
setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
Toast.makeText(HelloGridView.this,“+位置,
吐司。长度(短)。show();
}
});
虽然你接受了使用GrdView的答案,但我还是想 提高我的声音,RecyclerView比ListView更好、更优化 和GridView

我还是建议使用而不是 ListView或Gridview。

以下是一些鼓励使用RecyclerView的要点

Android创建了RecyclerView作为ListView的改进,因此可以使用ListView控件创建附加列表,但使用RecyclerView更容易,因为它:

  • 在上/下滚动时重用单元格-这可以通过在listView适配器中实现View Holder实现,但这是可选的,而在RecycleView中,这是写入适配器的默认方式
  • 将列表与其容器解耦——因此,通过设置LayoutManager,您可以在运行时轻松地将列表项放入不同的容器(linearLayout,gridLayout)。
    例如:
  • mRecyclerView=(RecyclerView)findViewById(R.id.my\u recycler\u视图); mRecyclerView.setLayoutManager(新的LinearLayoutManager(this))

    setLayoutManager(新的GridLayoutManager(this,2))

  • 设置常用列表动作的动画-动画被解耦并委托给ItemAnimator。 关于RecyclerView还有更多的内容,但我认为这些是主要的要点
  • 因此,总而言之,RecyclerView是处理“列表数据”的一种更灵活的控件,它遵循关注点的委托模式,只为自己留下一项任务——回收项目

    虽然你接受了使用GrdView的答案,但我还是想 提高我的声音,RecyclerView比ListView更好、更优化 和GridView

    我还是建议使用而不是 ListView或Gridview。

    以下是一些鼓励使用RecyclerView的要点

    Android创建了RecyclerView作为ListView的改进,因此可以使用ListView控件创建附加列表,但使用RecyclerView更容易,因为它:

  • 在上/下滚动时重用单元格-这可以通过在listView适配器中实现View Holder实现,但这是可选的,而在RecycleView中,这是写入适配器的默认方式
  • 将列表与其容器解耦——因此,通过设置LayoutManager,您可以在运行时轻松地将列表项放入不同的容器(linearLayout,gridLayout)。
    例如:
  • mRecyclerView=(RecyclerView)findViewById(R.id.my\u recycler\u视图); mRecyclerView.setLayoutManager(新的LinearLayoutManager(this))

    setLayoutManager(新的GridLayoutManager(this,2))

  • 设置常用列表动作的动画-动画被解耦并委托给ItemAnimator。 关于RecyclerView还有更多的内容,但我认为这些是主要的要点

  • 因此,总而言之,RecyclerView是处理“列表数据”的一个更灵活的控件,它遵循关注点的委托模式,只为自己留下一个任务—回收项目。

    我从您的代码中了解到,您正在将图像从internet加载到gridview中。您应该按照以下步骤正确加载带有图像的gridview-

    1-在布局中添加一个gridview,并像

    GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));
    
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                Toast.makeText(HelloGridView.this, "" + position,
                        Toast.LENGTH_SHORT).show();
            }
        });
    
    2-然后定义一个扩展BaseAdapter的类,该类将保存GridView的数据,并用它填充GridView,并重写它的getView()方法,该方法将作为单个网格的布局

    3-调用
    gridView.setAdapter(适配器)
    使用gridview设置适配器

    4-在后台线程中加载图像,并为响应添加侦听器


    5-当您在listener中得到响应时,将图像添加到Adapter类中的Arraylist中,并调用notifyDataSetChanged()刷新GridView,我从您的代码中了解到,您正在将图像从internet加载到GridView中。您应该按照以下步骤正确加载带有图像的gridview-

    1-在布局中添加一个gridview,并像

    GridView gridview = (GridView) findViewById(R.id.gridview);
        gridview.setAdapter(new ImageAdapter(this));
    
        gridview.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View v,
                    int position, long id) {
                Toast.makeText(HelloGridView.this, "" + position,
                        Toast.LENGTH_SHORT).show();
            }
        });
    
    2-然后定义一个扩展BaseAdapter的类,该类将保存GridView的数据,并用它填充GridView,并重写它的getView()方法,该方法将作为单个网格的布局

    3-调用
    gridView.setAdapter(适配器)
    使用gridview设置适配器

    4-在后台线程中加载图像,并为响应添加侦听器

    5-在侦听器中获得响应时,将图像添加到适配器类中的Arraylist中,并调用notifyDataSetChanged()刷新GridView