首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

android listview交替行颜色但是默认光标选择

在这个问答内容中,我们讨论了如何在Android ListView中交替行颜色,并设置默认光标选择。

首先,我们可以通过在ListView的适配器中设置不同的背景颜色来实现交替行颜色。以下是一个简单的示例:

代码语言:java
复制
public class MyAdapter extends ArrayAdapter<String> {
    private int[] colors = {Color.parseColor("#FFFFFF"), Color.parseColor("#F0F0F0")};

    public MyAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        int colorPos = position % colors.length;
        view.setBackgroundColor(colors[colorPos]);
        return view;
    }
}

在这个示例中,我们定义了一个颜色数组,其中包含了两种颜色。然后,我们在getView()方法中根据位置来选择背景颜色。

接下来,我们可以设置默认光标选择。为此,我们可以在ListView的适配器中设置一个选中项。以下是一个简单的示例:

代码语言:java
复制
public class MyAdapter extends ArrayAdapter<String> {
    private int selectedItem = 0;

    public MyAdapter(Context context, int resource, List<String> objects) {
        super(context, resource, objects);
    }

    public void setSelectedItem(int position) {
        selectedItem = position;
        notifyDataSetChanged();
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View view = super.getView(position, convertView, parent);
        if (position == selectedItem) {
            view.setBackgroundColor(Color.parseColor("#FF0000"));
        } else {
            int colorPos = position % colors.length;
            view.setBackgroundColor(colors[colorPos]);
        }
        return view;
    }
}

在这个示例中,我们定义了一个selectedItem变量来存储选中项的位置。然后,我们在getView()方法中根据位置来设置背景颜色。如果位置与选中项位置相同,则将背景颜色设置为红色。

最后,我们可以在主Activity中设置适配器和选中项。以下是一个简单的示例:

代码语言:java
复制
public class MainActivity extends AppCompatActivity {
    private ListView listView;
    private MyAdapter adapter;

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

        listView = findViewById(R.id.listView);

        List<String> items = new ArrayList<>();
        items.add("Item 1");
        items.add("Item 2");
        items.add("Item 3");
        items.add("Item 4");
        items.add("Item 5");

        adapter = new MyAdapter(this, android.R.layout.simple_list_item_1, items);
        listView.setAdapter(adapter);

        listView.setOnItemClickListener((parent, view, position, id) -> {
            adapter.setSelectedItem(position);
        });
    }
}

在这个示例中,我们首先创建了一个包含5个项的列表。然后,我们创建了一个MyAdapter实例,并将其设置为ListView的适配器。最后,我们在setOnItemClickListener()方法中设置了一个监听器,以便在用户点击项时更新选中项。

这就是如何在Android ListView中交替行颜色并设置默认光标选择的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android开发之ListView使用经验分享

Android开发中,ListView是使用最广泛的组件之一,虽然谷歌推出了RecycleView,但是很多项目中依旧在使用ListView,本文将总结一下使用过程中遇到的一些问题,与大家共勉~~~...解决办法:在Item布局的根布局加上android:descendantFocusability="blocksDescendants" 五、ScrollView嵌套ListView只显示一的问题 解决方案...显示 如果java类继承了ListActivity,那么表明该类只能存在一个ListView控件,可以通过getListView()方法取得默认的控件,但是在相应的xml文件中,定义的ListView必须指明固定的...默认的点击选中时的颜色 1、去除默认的点击选中时的颜色 设置列表layout的backgroudcolor属性就OK了。...android:listSelector="#00000000" 2、替换listview 默认的点击选中时的颜色 设置listivew的listSelector属性就可以了,如果要求点击变色,松开以后恢复

1.3K60

android学习笔记----ListView和各种适配器简介

,这种交替情况也会在ListView设置layout_height="wrap_content"时出现,所以ListView的layout_height要设置为match_parent。...暂时你可以想象成用户界面与数据模型之间是分开的,分开的并不完全清晰,因为 ArrayAdapter 处理的是视图,但是主要是 ListView 负责处理用户界面的细节内容,而适配器负责数据,因为界面和数据二者是分开的...id long:已单击的项的ID。 将数据库的数据显示到ListView 这里给出主要代码,详细代码见Demo源码,地址在文章开头。...cursor = dao.query(name); String phone = null; if (cursor.moveToFirst()) { // 将光标移动到第一...phone)); Log.d(TAG, str1); } while (cursor.moveToNext()); // 将光标移动到下一

2K10

Andorid-ListView简单使用以及BaseAdapter入门

:是否在footerView(表尾)前绘制一个分隔条,默认为true headerDividersEnabled:是否在headerView(表头)前绘制一个分隔条,默认为true divider:设置分隔条...---- 4.设置点击颜色cacheColorHint 如果你为ListView设置了一个图片作为Background的话,当你拖动或者点击listView空白位置会发现 item都变成黑色了,这是时候我们可以通过这个...但是为何不选择数组呢,主要原因还是我们再MainActivity.java中加入每行的数据只需要调用add方法即可,而数组就麻烦的很多,后者需要确定个数,尾指针等等额外的理解开销; 补充2: 方法...简单地说,Android允许将一个long类型的数据附加到任何ListView对象的元素上,对,这是附加的,实际上你可以选择忽略此值。...比方说每个Adapter对象都提供了以getItemId()方法,我们可以选择用或者不用,但是我们不用也无法避免重写此方法,因为BaseAdapter被设置为抽象类,而这些方法是抽象方法,所以我们直接就简单地写为

1.3K20

2014-10-25Android学习------布局处理(四)------ListView的item点击之后的布局

地址:http://blog.csdn.net/u014737138/article/details/40480291 当我们把ListView布局好之后,我们就可以看到很多行,但是的点击操作,应该设置它跳转到另外一个...相对布局:放置一个图片,图片的右边是一个 相对布局有个特点,就是有且仅有一,就是在视图上只显示一,不会多显示 <RelativeLayout xmlns:android="...android:text="@string/text1"默认的内容 android:width="10px" />文字大小 3....控件,整个布局文件中有且仅有一个ListView构件,它的id是系统自定义的, <ListView android:id="@id/android:list"...="@color/white" android:focusable="false" >//每一的item是不能被点击的 总结:对布局文件再一次熟悉

48520

AndroidListView和RecyclerView的基本用法

Android 5.0 版本之前,为了方便的显示多行数据,形如QQ聊天信息主界面,最常用的选择无非是ListView控件,但是ListView控件本身就有很大的局限性和效率问题(相对于RecyclerView...每一项目是一个ImageView和TextView控件的组合。 新建一个 Android 工程: activity_main.xml: <?...那么接下来我们来看一下RecyclerView控件的简单用法:我们先用RecyclerView控件来实现上面的功能,你可以选择新建一个Android工程,也可以在上面的ListView控件中的工程中加一个...Activity来显示RecyclerView,笔者这里选择的是新建一个Activity来显示RecyclerView: 因为RecyclerView是在android5.0版本新增在support.v7...启动了RecyclerViewActivity之后点击“green”那一(单击别的也是可以的),成功显示了我们设定的事件信息。

1.1K50

初识ListView

之前我们学习的一些UI组件都比较简单,但是在实际开发中,会经常遇见列表界面设计,如通讯录、电话列表、信息列表等。那么从本节开始来详细学习列表界面设计。...ListView提供的常用XML属性如下所示: android:divider:设置 List 列表项的分隔条(即可用颜色分隔,也可用 Drawable 分隔)。...选择默认的“Phone & Tablet Module”,点击“Next”进入下一步。 ?...这里选择默认的空白Activity,然后点击“Next”进入下一步。 ? 同样的,Activity和layout命名页面也是非常熟悉的,仍然使用默认的命名,点击“Finish”完成创建。...从上述示例程序发现,使用数组创建ListView非常简单,但这种ListView 能定制的内容很少,甚至连每个列表项的字号大小、颜色都不能改变。

1.5K50

【愚公系列】2023年10月 WPF控件专题 ListView控件详解

《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。...ListView控件可以支持多种布局风格和视图模式,例如网格视图、平铺视图、大图标视图、小图标视图等等。要使用ListView控件,您需要做以下几个步骤:添加ListView控件到您的XAML文件中。...以下是一个使用ListView控件显示一个简单字符串列表的示例: ...SelectionMode:表示选择模式,包括Single、Multiple、Extended等。AlternationCount:用于指定奇偶的背景颜色交替显示的数量。...多选:ListView控件可以帮助用户进行多选操作。在多选模式下,用户可以同时选择多个数据项。排序:ListView控件提供了一些内置的排序功能,可以按照数据项的某个属性进行排序。

43111

37个TOP实例命令,超过一半你肯定都没见过

1.4 内存使用 接下来两显示内存使用率,有点像’free’命令。第一是物理内存使用,第二是虚拟内存使用(交换空间)。 物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。...2.2 ‘’ 或者 ‘’: 刷新显示 top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。 2.3 ‘A’: 切换交替显示模式 这个命令在全屏和交替模式间切换。...在交替模式下会显示4个窗口(译注:分别关注不同的字段): Def (默认字段组) Job (任务字段组) Mem (内存字段组) Usr (用户字段组) 这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域...管理显示列 上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。 按'’则移动到右边。 2.8 ‘R’: 反向排序 切换反向/常规排序。...树视图 2.12 ‘Z’: 改变配色 按下’Z’向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。 定制颜色 下面显示的是4中颜色显示的top视图。

89260

用 30 个实例完全解读 TOP 命令

接下来两显示内存使用率,有点像’free’命令。第一是物理内存使用,第二是虚拟内存使用(交换空间)。 物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。...2.2 ‘’ 或者 ‘’: 刷新显示 top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。 2.3 ‘A’: 切换交替显示模式 这个命令在全屏和交替模式间切换。...在交替模式下会显示4个窗口(译注:分别关注不同的字段): Def (默认字段组) Job (任务字段组) Mem (内存字段组) Usr (用户字段组) 这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域...上面三个全不显示 2.7 ‘f’: 字段管理 用于选择你想要显示的字段。用’*’标记的是已选择的。 ? 管理显示列 上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。...树视图 2.12 ‘Z’: 改变配色 按下’Z’向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。 ? 定制颜色 下面显示的是4中颜色显示的top视图。 ?

1.1K50

android使用SwipeRefreshLayout实现ListView下拉刷新上拉加载

android使用PullToRefresh框架实现ListView下拉刷新上拉加载更多 至于使用哪一种大家可以根据产品的需求选择,这两种刷新目前为止世面上还是使用PullToRefreshListView..." <ListView android:layout_width="match_parent" android:layout_height="match_parent" android...这里随便给他设置了一个颜色:浅绿色 swipeRefreshLayout.setProgressBackgroundColorSchemeColor(Color.CYAN); //设置进度动画的颜色...这里面最多可以指定四个颜色,我这也是随机设置的,大家知道怎么用就可以了 swipeRefreshLayout.setColorSchemeResources(android.R.color.holo_orange_dark...这样代码会更少,默认效果也非常不错,这个看大家需求。 源码下载地址 以上就是本文的全部内容,希望对大家的学习有所帮助。

2K20

2014-10-27Android学习------布局处理(五)------ListView布局继续学习-----城市列表应用程序

破坏整体美观度: 什么叫自定义ListView,就是你不使用系统的id号 @id/android:list 而是自己去定义一个id 这里还需要讲一个属性就是选中是什么颜色android:listSelector...="" 当你不使用android:listSelector属性,默认会显示选中的item为橙黄底色,有时候我们需要去掉这种效果: 有的人模拟器可能不是橙黄底色,比如我的就是一种灰色调的选中色 特别提供:...ListView是一个经常要用到的android控件,现总结遇到过的一些美化的小细节。...默认选择时的黄色背景 解决:在java文件中使用listview.setSelector()方法, android:listSelector="#00000000"//这样写是透明的,也可加入Drawable...不是说相对布局里面只有一吗?

39520

ListView使用技巧-更新中

虽然在Android5.X中,RecyclerView在很多地方组件取代了ListView但是ListView的使用依然是分广泛。 本博文将对以下两方面的内容进行介绍 1....ListView需要显示一时,它会调用此方法 @Override public View getView(int position, View convertView, ViewGroup...隐藏ListView的滚动条 3.隐藏ListView的滚动条 默认ListView在滚动时,在右边会显示滚动条,指定当前滚定的位置。...取消ListView的Item点击效果 当点击ListView的某一项Item时,系统默认会出现一个点击效果,在Android5.X上是一个波纹的效果,而在5.X以下是一个改变背景颜色的效果,但是我们可以通过修改...设置ListView需要显示在第几行 ListView以Item为单位进行显示,默认显示第一个Item,当需要指定具体的Item时,可以通过如下代码来实现 ListView.setSelection(N

90630

腾讯开源超实用的UI轮子库,我是轮子搬运工

QMUI_Android 功能特性 全局 UI 配置 只需要修改一份配置表就可以调整 App 的全局样式,包括组件颜色、导航栏、对话框、列表等。一处修改,全局生效。...支持以下样式: 展示一文字。 在右侧或下方增加一说明文字。...在 item 右侧显示一个开关或箭头或自定义的View QMUIDialog 提供了一系列常用的对话框,解决了使用系统默认对话框时在不同 Android 版本上的表现不一致的问题。...获取设备硬件信息,包括是否有可用摄像头、是否有硬件菜单、是否有网络、SD Card 是否可用、当前选择的国家语言等。 判断当前是否处于全屏状态,控制进入/退出全屏状态。...覆盖组件的默认表现 你可以通过在项目中的 theme 中用 (value) 的形式来覆盖 QMUI 组件的默认表现。

4.7K30

ListView详细介绍与使用

常用属性和相关方法: 属性 说明 备注 android:choiceMode 列表的选择行为:默认:none 没有选择行为 选择方式:none:不显示任何选中项目 singleChoice:允许单选multipleChoiceModel...:允许多选配合 getCheckedItemPosition 、getCheckedItemCount、等使用 android:drawSelectorOnTop 如果该属性设置为 true,选中的列表项的选中颜色会...成为前景颜色(实验没有效果) android:transcriptMode 指定列表添加新的选项的时候,是否自动滑动到底部,显示新的选项。...ListView 提供的 xml 属性 XML 属性 说明 备注 android:divider 设置 List 列表项的分隔条(可用颜色分割,也可用图片 Drawable 分割) 不设置列表之间的分割线...的长度逐一绘制 ListView 的每一 获取数据时,通过 getItem() getItemId() 来获取 Adapter 中的数据 重点看一下 getView 实现方式一: 直接返回索引对应的数据的视图

1.4K20
领券