如何在 Android Gridview 中设置替代行颜色?

2023-12-06

如何在网格视图中设置替代行颜色?我搜索了很多关于如何设置网格视图行颜色的教程,但没有关于网格视图行颜色的信息。我得到的列表视图仅具有替代行颜色。我需要交替行应该是白色和黑色。在这里我包括我的代码。请帮我!!!!!!!!!!

这是 Java 类:

public class MainActivity extends Activity {
    GridView gridView;

    static final String[] numbers = new String[] { "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z", "A", "B", "C", "D", "E",
            "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",
            "S", "T", "U", "V", "W", "X", "Y", "Z" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        gridView = (GridView) findViewById(R.id.gridView1);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, numbers);
        gridView.setAdapter(adapter);

    }
    }

这是 XML:

<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/gridView1"
    android:numColumns="10"
    android:gravity="center"
    android:columnWidth="50dp"
    android:stretchMode="columnWidth"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
</GridView>

请提供好的教程或示例。提前致谢!!!!!!!!!!!


创建自定义适配器并覆盖其getView method:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    gridView = (GridView) findViewById(R.id.gridview1);

    MyAdapter adapter = new MyAdapter(this,
            R.layout.item, numbers);

    gridView.setAdapter(adapter);

}

public class MyAdapter extends ArrayAdapter<String> {

    String[] objects;
    Context context;

    public MyAdapter(Context context, int textViewResourceId, String[] objects) {
        super(context, textViewResourceId, objects);
        this.context = context;
        this.objects = objects;
    }


    @Override
    public View getView(int position, android.view.View convertView, android.view.ViewGroup parent) {
        TextView tv;
        if (convertView == null) {
            LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            tv = (TextView)inflater.inflate(R.layout.item,parent,false);
        } else {
            tv = (TextView) convertView;
        }
        tv.setText(objects[position]);
        if (position % 2 == 0)
            tv.setBackgroundColor(Color.BLACK);
        else
            tv.setBackgroundColor(Color.WHITE);

        return tv;
    }
}

item.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

</TextView>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android Gridview 中设置替代行颜色? 的相关文章

随机推荐

  • 如何从当前系统日期中减去 45 天 [重复]

    这个问题在这里已经有答案了 可能的重复 有人知道使用java日历减去X天的日期的简单方法吗 Hi 有人能告诉我如何从当前系统日期中减去 45 天吗 Thanks 您可以使用日历类 Calendar cal Calendar getInsta
  • 按键及其项目过滤对象

    我有一个对象 我想过滤它的键 我试图通过 ID 过滤对象 如下所示 let myKeys Object keys data filter function key console log data key if parseInt key p
  • entityManager.persist 不将任何内容保存到数据库

    I use Spring 4 2 5 and org hibernate 5 1 0 当我使用entityManager persist user 保存user 它无法保存到数据库 并且不会抛出错误 但如果我添加entityManager
  • 如何使用相机 xamarin Forms android 拍摄多张照片

    我正在开发 Xamarin 表单应用程序 在其中 我尝试使用具有相同意图的相机拍摄多张照片 不使用任何nuget包裹 为此 我正在关注此链接Camera MainActivity cs static readonly File file n
  • 提供 .json 文件下载

    我正在尝试通过此函数提供 json 文件 问题是 每次我发出请求时 浏览器都会显示内容而不是下载文件 我认为这可能是由于我正在使用 read 作为 HttpResponse 对象构造函数的参数 但是 如果我仅使用文件对象 则会出现以下异常
  • 使用 Magick(在 R 中)通过变换处理多个图像

    我需要自动化一些图像转换来执行以下操作 读取 16 000 多张又短又宽的图像 尺寸不一样 将每个图像重新缩放至 90 像素高 在图像的宽度上裁剪 90 像素 因此在 1 个图像上进行多次 90x90 裁剪 然后对下一个图像重复一遍 每个9
  • 使用 LINQ 从 XML 读取所有节点

    我有一个 XML 文件 如下所示
  • 通过 Word Interop 打印的文档立即从打印队列中消失

    我有一个 C WinForm 应用程序 它通过将文本放置在书签上来打开并填写 MS Word dotx 模板 然后尝试打印它 所有操作均使用 MS Word Interop 15 一切似乎都很顺利 打印对话框显示并完成 打印作业显示在打印队
  • jQuery 相当于获取 Canvas 的上下文

    我有以下工作代码 ctx document getElementById canvas getContext 2d 有什么方法可以重写它来使用 这样做会失败 ctx canvas getContext 2d Try canvas 0 get
  • Elixir:惯用地克隆列表

    我总是可以做这样的事情 new list Enum map old list fn x gt x end 当然 还有十几种更平等或稍微不那么丑陋的方法可以做到这一点 不知何故 我找不到复制列表的惯用方法 肯定有办法的 Elixir 是一种不
  • 如何有条件地阻止用户导航到 mat-tab-group 中的其他选项卡

    我有一个使用角度材料选项卡组的角度组件
  • 为什么我的模板不接受初始化列表

    我创建了一个模板 如下所示 template
  • 如何在 Mac OS X Mavericks 中获取 Java 32 位

    我正在尝试在我的 MAC 上设置 Openfire XMPP 服务器 但问题是我需要升级到 Maverick for Titanium 一旦升级到 Maverick Java 就会更新到 64 位 而不是 Openfire 所需的 32 位
  • 如何在 Eclipse 中运行 django 测试以使调试成为可能,但在测试数据库上

    我有一个困扰我很长时间的问题 我使用 Pydev 或 Nose 测试运行器从 eclipse Python 单元测试 运行测试 这样就可以调试测试并在 PyUnit 视图中观察它们 但这样就不会创建测试数据库 也不会使用manage py
  • 需要使用TypeORM/NestJS在PostgreSQL数据库中上传文件

    任何人都可以帮忙解决这个问题吗 我需要使用 TypeORM NestJS 将文件上传到 PostgreSQL 数据库 文件是表单的一部分 我已经采取了以下实体类 export class Certificate ApiProperty Pr
  • 如何在R中写出具有不同文件名的多个文件

    我有一个大文件 gt 10000 行数据 我想按 ID 写出一个单独的文件 我有 50 个唯一的 ID 名称 我想要为每个名称创建一个单独的文本文件 这是我到目前为止所得到的 但我不断收到错误 我的ID实际上是字符串 如果我能用该字符串命名
  • 使用 sqlalchemy 和 mysql unix 时间戳定义表

    背景 MySQL 中有多种存储日期的方法 作为字符串 例如 2009 年 9 月 9 日 作为使用函数 UNIX TIMESTAMP 的整数 这被认为是传统的 UNIX 时间表示 您知道自纪元加 减闰秒以来的秒数 作为MySQL TIMES
  • HTML5发布及修改时间

    我想包括一篇文章的发表和修改时间 我查看了文档 但找不到有关此的信息 到目前为止 我得到了这个
  • QFile::flush() 与 QFile::close()

    我正在类中实现一个方法 它将数据从 TableView 对象写入 CSV 文件 然而 当程序运行时 程序以非常慢的速度 3或4秒 将数据写入USB驱动器上的文件 但在系统的内部驱动器上运行良好 这是因为我在写入文件后没有使用flush 或c
  • 如何在 Android Gridview 中设置替代行颜色?

    如何在网格视图中设置替代行颜色 我搜索了很多关于如何设置网格视图行颜色的教程 但没有关于网格视图行颜色的信息 我得到的列表视图仅具有替代行颜色 我需要交替行应该是白色和黑色 在这里我包括我的代码 请帮我 这是 Java 类 public c