Articles of android gridview

Android – Gridview还是listview?

如何在我的应用程序中创建这种视图? (截图实际上是Android市场上可用的Android应用程序)。 我很困惑,因为我认为我们可以通过使用Gridview或使用ListView来创建相同types的布局。 问题: 在Gridview中,我们可以在两行之间给出分隔符吗? 我们可以给gridview中的每一行提供背景吗? 在Listview中,我认为我们可以使用背景连续3本书自定义列表视图,我们也可以给出一个分隔符。 从您的专家方面,请建议我为Android应用程序设计和创建相同types的布局的可能解决方案。

java.lang.illegalstateexception在activity类的android片段中找不到方法(view)

在我的程序中,我正在使用带有一些图像的gridview,我想在用户点击gridview中的图像时显示一个菜单,然后从显示的菜单中选择要执行的操作。 这是我的代码: package Kazemi.Alireza.scada; import android.annotation.SuppressLint; import android.app.Dialog; import android.app.FragmentManager; import android.content.Context; import android.graphics.Typeface; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; import android.view.Gravity; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; import android.view.ViewGroup.LayoutParams; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.GridView; import android.widget.ImageView; import android.widget.LinearLayout; import […]

使用冻结列和冻结标题创建表/网格

我正在开发一款小型Android应用。 我需要这个Android应用程序的一部分是有一个水平和垂直滚动的网格。 但是,最左边的列需要冻结(始终在屏幕上,而不是水平滚动的一部分)。 同样,顶部标题行需要冻结(不是垂直滚动的一部分) 如果以上内容没有太大意义,这张图片将有希望清楚地描述: 关键 : 白色:根本不滚动 蓝色:垂直滚动 红色:水平滚动 紫色:垂直和水平滚动 要做到这些尺寸中的一个很容易,我已经这样做了。 但是,我无法让这两个维度发挥作用。 (也就是说,我可以将底部部​​分全部变为蓝色,或者我可以将正确部分全部变为红色,但不完全如上所述)我的代码如下所示,基本上会产生以下内容: result_grid.xml: Java代码: private boolean showSummaries; private TableLayout summaryTable; private TableLayout frozenTable; private TableLayout contentTable; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.result_grid); Button backButton = (Button)findViewById(R.id.backButton); frozenTable = (TableLayout)findViewById(R.id.frozenTable); contentTable = (TableLayout)findViewById(R.id.contentTable); ArrayList content; // [Removed Code] Here I get some data […]

OnClickListener不适用于GridView中的第一项

我在创建基于GridView的日历时遇到问题。 这是网格: 这应该是一个填充了事件的日历,所以我有我的适配器实现OnClickListener,我为日历中的每个按钮设置了该监听器。 它适用于每个按钮, 除了第一个按钮(在本例中为30)。 当我单击它时不起作用,但是当我尝试单击第一个按钮后单击另一个按钮时,它会在执行另一个按钮的单击之前执行第一个按钮。 我已经扫描了大约10页的相关问题,但没有发现有人遇到这个问题。 请帮助! 如上所述,这是我的代码的getView函数: public View getView(int position, View convertView, ViewGroup parent) { View row = convertView; ViewHolder holder; if (row == null) { holder = new ViewHolder(); LayoutInflater inflater = (LayoutInflater) _context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); row = inflater.inflate(R.layout.calendar_day_gridcell, parent, false); holder.gridCell = (Button) row.findViewById(R.id.calendar_day_gridcell); holder.multiDayEvent = (EventLengthView)row.findViewById(R.id.eventLengthView); } else{ holder = (ViewHolder)row.getTag(); […]

在gridview适配器中,getView(position == 0)被调用太多次以在装载器中的setImageBitmap()时测量布局

我有一个GridView用于显示一些图标。 在我从Android开发者网站上有效地阅读这个显示位图之前,我直接在适配器的getView()中从本地路径解码位图,如下所示: public View getView(int position, View convertView, ViewGroup parent) { … ImageView icon = …… (from getTag() of convertView) icon.setImageBitmap(BitmapUtil.decode(iconPath)); … } 这种方式工作正常,我称之为[直接模式], getView()方法的输出日志应该是: getView(0) // measure kid’s layout. getView(0) getView(1) getView(2) … getView(n) // when scrolling gridview. getView(n+1) … getView(n+3) // scrolling again. getView(n+4) … 然后我试图将代码更改为有效显示位图的文章中提到的[Loader Mode],如下所示: public View getView(int position, View convertView, […]

GridView可以像ListView一样有一个页脚和标题吗?

一个简单的问题: 在ListView我使用以下代码: list.addHeaderView(headerView); 在gridview工作时如何处理? 谢谢。

GridView具有不同的列大小

试图创build一个可滚动的高分列表,如下所示: foo 1000 bar 876 foobar 500 foobarfoo 1 我目前正在做一个GridView。 我想将名称列的宽度设置为屏幕的60%,并将分数列的宽度设置为40%。 可能吗? 目前我正在尝试通过一个成本适配器。 这里是它的getviewfunction: public View getView(int position, View convertView, ViewGroup parent) { TextView tv; if (convertView == null) { tv = new TextView(context); tv.setTextSize(25); tv.setTextColor(Color.WHITE); if (position % 2 == 0) { tv.setLayoutParams(new GridView.LayoutParams((width/10)*6, 50)); } else { tv.setLayoutParams(new GridView.LayoutParams((width/10)*4, 50)); } } else […]

如何在图像上显示文字

我写了一个代码,其中我在GridView中显示图像,但现在我想在每个图像的底部显示文本。 我想显示我的网格是这样的: 但是越来越像这样[也想显示文字的图像]: main.xml中: <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <GridView android:id="@+id/gridview" android:layout_width="match_parent" android:layout_height="match_parent" android:verticalSpacing="0dp" android:horizontalSpacing="0dp" android:stretchMode="columnWidth" android:numColumns="2" /> </FrameLayout>

GridView只显示两列

我以编程方式创build了一个在对话框中使用的图像的GridView。 如果我将列设置为自动调整,则无论图像的大小和屏幕大小如何,我总是会得到两列。 如果我强制列的数量是固定的,那么它的工作原理,但我不能避免图像重叠在一定的屏幕大小,所以自动pipe理的列数会好很多。 更重要的是,当我尝试设置拉伸,它根本不显示任何东西! 我的ImageAdapter: public class ImageAdapter extends BaseAdapter { private Context mContext; // Constructor public ImageAdapter(Context c){ mContext = c; } public int getCount() { return (IconC.Res.length); } public Object getItem(int position) { return (IconC.Res[position]); } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { […]

更新GridView / ListView而不重新填充

每当你更新一个GridView / ListView的时候,你notifyDatasetChanged在适配器上调用notifyDatasetChanged来重新填充列表中的新数据,删除当前列表中的所有内容。 现在把这个小video例如从L Previewdevise指南 是否有可能实现相同的效果,只有当你看到的新变化是在适配器重新加载时没有任何“闪烁”而进入的新项目,还是现在只能在L中完成的事情? 在添加新笔记时, Google Keep应用程序中也可以find这种效果