Android getListView()将函数更改为Gridview
如何更改此行以获得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
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