Articles of gridview

根据Device使用的布局动态使用ListView或GridView

我正在我的应用程序中创建一个活动来显示一堆数据,特别是地方。 将有地名,远离用户的距离以及随附的图像。 所有这一部分我都已整理好了。 我想在不同的设备上以不同的方式显示此信息。 在较小的设备上,例如手机,我希望它们显示在1列列表中,图像显示在左侧,名称和距离显示在右侧。 我已经使用ListView进行了此设置。 但是,在较大的平板电脑上,我想将其显示在网格中,图像是整个单元格(正方形),图像顶部是文本。 什么是最好的方法。 它是2个布局,一个ListView和一个GridView ,以及Activity.java文件将如何检测哪些存在并相应地格式化数据? 或者我可以使用GridView并根据屏幕大小动态设置列?

完全禁用Android GridView高亮显示(禁用选择)

我正在尝试禁用Android 2.2中GridView中对象的突出显示。 我发现这个其他答案说我应该将选择器设置为透明ColorDrawable( android:listSelector=”@android:color/transparent” ),但是当我选择它们时,我的GridView中的视图仍然是灰色的。 我只是使用GridView在网格中显示静态对象。 这些对象都不会被选中。 使用基本视图并手动绘制图像会更好吗?

从睡眠模式恢复时保持GridView

我遇到了一个相当大的GridView的问题。(大约70个孩子)如果我在onCreate上启动它或者在按下主页按钮然后返回后恢复后,GridView工作正常。 但是当我从睡眠模式恢复后恢复时,我的BaseAdapter再次启动并破坏了我在运行时对其所做的更改。 如果我在重启后调用它,这也会使getChildAt()给出NullPointerException。 我怎样才能让它只是按常规onPause(主页按钮)对GridView进行操作,并避免每次从睡眠模式恢复时GridView都被清除? 编辑:我已经尝试为我的Activity类设置一个唤醒锁,它调用BaseAdpter没有运气 2.Edit:自从我发布这个问题以来,我一直试图在onPause中使用此代码恢复GridView: SparseArray array = new SparseArray(); gridView.saveHierarchyState(array); bundle = new Bundle(); bundle.putSparseParcelableArray(“state”, array); 这在onResume: try{ gridView.restoreHierarchyState(bundle.getSparseParcelableArray(“state”)); } catch(Exception e){ //Most likely first start Log.i(“SomeTag”, “No GridView state found”); } } 奇怪的是我在屏幕上似乎从一个地方跳到另一个地方的一切,当我尝试getChildAt()时它仍然崩溃。 在睡眠模式之后它也无法获得它。 编辑这是来自BaseAdapter getView的代码(注意!这些代码中的一些是无关紧要的) public View getView(int position,View convertView,ViewGroup parent){ mParentView = parent; DisplayMetrics metrics = mContext.getResources().getDisplayMetrics(); int width = […]

如何强制GridView加载单元格

GridView以编程方式滚动,并且没有新项目从底部出现。 我尝试使用以下行更新,但它不会强制GridView加载新项目。 imageAdapter.notifyDataSetChanged(); gridview.invalidateViews(); gridview.setAdapter(imageAdapter); 简化了应用程序,现在可以通过按钮单击来触发滚动,但即将出现的空项仍然出现。 这是一些代码: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final CustomGridView gridview = (CustomGridView) findViewById(R.id.gridView1); final ImageAdapter imageAdapter = new ImageAdapter(this); gridview.setAdapter(imageAdapter); gridview.setNumColumns(3); LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams)gridview.getLayoutParams(); linearParams.width=66*3; gridview.setLayoutParams(linearParams); final Button button = (Button) findViewById(R.id.button); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { gridview.scrollBy(0, 44); } }); } public class […]

如何使用刚从库中选择或从相机捕获的图像填充gridview

我有Image Gridview,我想逐个添加图像到gridview选择从相机中捕获的图库或图像。

OnItemClickListener无法正常工作,但OnItemLongClickListener正在使用GridView

我在gridview上遇到clickListener问题。 LongClickListener可以正常工作。 但我似乎无法从点击监听器获得任何响应。 我的代码如下。 我很困惑为什么长按工作但不是正常的点击, 任何指针将不胜感激 谢谢 final GridView gridView = (GridView) findViewById(R.id.grid_view); gridView.setNumColumns(numOfColumns); gridView.getLayoutParams().width = (CELL_WIDTH * numOfColumns); gridView.getLayoutParams().height = (CELL_WIDTH * numOfRows); …. gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Log.d(“ABCD”, “Position Single Click is ” + position); // Ideally in here I want to put […]

Android – 我怎么知道gridview什么时候到达底部?

我正在构建一个从JSON加载图像并将其显示为网格视图的应用程序。 问题是有数百个图像,我想每次加载20个,我想在滚动到达底部时从服务器下载更多图片。 所以,我怎么能分辨出网格 视图到底了? 我在网上搜索过,无法想象这个…… 谁有想法? 我正在添加一个应用程序的照片,它的function与我想要的非常相似。 谢谢。

通过屏幕旋转保持GridView的滚动位置

如何在整个屏幕重定向中保持GridView的滚动位置(它充满了搜索结果)? 我在片段中有GridView,当我旋转屏幕时,它会跳回到列表的顶部。 为了使它更加棘手,在横向模式下,我的GridView有3列..在纵向模式下它有2列。 我似乎无法弄清楚如何保持片段的GridView滚动到屏幕方向改变时应该接近的位置。

如何根据gridview中的屏幕尺寸设置图像宽度高度

我想显示3×3大小的gridview。 我想根据设备大小设置高度和宽度。 我正在参考这个链接 。 主要活动- public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } } activity_main- 编辑- 就像首先获得屏幕高度和宽度一样,每个项目的高度和宽度是屏幕高度和宽度值的1/3。

在Android上的GridView中使用哪个stretchMode

以下是我的xml代码: 当我使用android:stretchMode =“columnWidth”时,它会在列之间创建一个间隙(虽然它填满了屏幕宽度)如果我使用android:stretchMode =“none”,它会左对齐并且右边还有一个间隙屏幕的一面(虽然现在列之间没有间隙)问题是我想要两者:填充屏幕宽度以及列之间没有间隙。 怎么实现呢?