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

如何使用按钮遍历ArrayList来更改Textview的值?

使用按钮遍历ArrayList来更改TextView的值可以通过以下步骤实现:

  1. 首先,创建一个ArrayList对象,并向其中添加需要遍历的元素。
  2. 在布局文件中添加一个TextView和一个Button,并为Button设置一个点击事件。
  3. 在Java代码中,找到TextView和Button的引用,并为Button设置点击事件的监听器。
  4. 在点击事件的监听器中,使用一个变量来记录当前遍历到的ArrayList元素的索引。
  5. 在点击事件的监听器中,通过setText()方法将当前遍历到的ArrayList元素的值设置给TextView。
  6. 在点击事件的监听器中,通过判断当前索引是否已经达到ArrayList的末尾,如果是,则将索引重置为0,实现循环遍历。

以下是一个示例代码:

代码语言:txt
复制
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    private TextView textView;
    private Button button;
    private ArrayList<String> arrayList;
    private int currentIndex;

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

        textView = findViewById(R.id.textView);
        button = findViewById(R.id.button);

        // 初始化ArrayList并添加元素
        arrayList = new ArrayList<>();
        arrayList.add("元素1");
        arrayList.add("元素2");
        arrayList.add("元素3");

        // 设置按钮点击事件的监听器
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 获取当前索引对应的元素,并设置给TextView
                textView.setText(arrayList.get(currentIndex));

                // 更新索引
                currentIndex++;

                // 判断索引是否达到ArrayList的末尾
                if (currentIndex >= arrayList.size()) {
                    currentIndex = 0; // 重置索引为0,实现循环遍历
                }
            }
        });
    }
}

这样,每次点击按钮,TextView的值就会更新为ArrayList中的下一个元素,循环遍历整个ArrayList。

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

相关·内容

2014-10-25Android学习--------activity之间批量传递数据----Bundle类的实现

Intent .getExtras()//这个能很好的让我们明白getExtras()的返回值是什么,谁来调用 下面我们就需要对Bundle类进行分析了, 我们看下文档中是如何介绍...接下来我们就是如何取出里面的值就可以了,我们再来看看文档中有没有get类型的函数,找到了: 这个get(String key)函数的作用就是根据给定的键值字符串,返回一个对象实体类,那么就...(String key)来获取传递过来的值 接下来在分析其他的代码了: image = (Button) this.findViewById(R.id.Button);// 找到布局视图中的子相对布局的按钮控件...,这个按钮是用图片来设置的 image.setBackgroundResource(drawable);//设置按钮控件的背景图片 image.setText(foodname);//设置按钮的内容...foodinfo=(TextView)findViewById(R.id.TextView03);//找到按钮右边的文本显示控件 foodinfo.setText(foodinfos);//设置文本内容

64420
  • Android项目实战(三十四):蓝牙4.0 BLE 多设备连接

    MAC地址,点击状态在 ''已选择' or '‘未选择’ 之间改变,表明当前设备有没有加入到需要连接的设备集合中      2、扫描按钮      3、结束扫描按钮      4、完成选择按钮,将选择的设备...private Button btnStartConnect ; //开始连接按钮 private TextView txtContentMac ; //获取到的数据解析结果显示...private Button btnStartConnect ; //开始连接按钮 private TextView txtContentMac ; //获取到的数据解析结果显示...: 1、点击按钮:'选择需要连接的传感器设备'、跳转新界面 2、点击'开始扫描'按钮,会出现很多设备的mac地址 ,以列表的新式展现 3、对列表item操作,更改状态'已选择'or'未选择' 4、点击按钮...连接开始,显示连接设备的数据。(注意,这里是按我的传感器来的。实际需要换成你所用到的设备的 数据 转换公式!) 如有问题,欢迎右侧加群。

    5.2K80

    【面试总结】Android 开发者值得深入思考的几个面试问答分享

    修改事件分发顺序的话,在日常开发中基本遇不到,因为现在的逆序遍历,是跟View的层级显示相匹配的,随便更改反而不太合理。...1. compat库是如何将TextView替换为AppCompatTextVew的? 2. 为什么要进行替换? 3. 根据替换相关原理,我们可以做哪些事情?...该方法的作用就是你可以借助它来改造XML中已经存在了的Tag的值。所以Factory2可以达到改造parentView的目的。...啰里啰唆扯了一大堆,还是没回答第一个问题: compat库是如何将TextView替换为AppCompatTextVew的?...4.butterknife 中的黑科技 很多时候大家在剖析butterknife源码的时候,更多的是讲解其中的apt等,在library中使用buttterknife的时候,会使用R2.id.xxx class

    54500

    Android项目实战(二十七):数据交互(信息编辑)填写总结

    前言:   项目中必定用到的数据填写需求。比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等。现总结一下,方便以后使用。...注:   先写实现过程,想要学习的同学可以看看,不需要的同学可以直接拉到最下面复制代码使用。...  ①、这里我把对话框写在一个方法里,方便使用 title 文本对话框的标题 isSingleLine EditText是否限制一行显示 maxSize EditText中文字的最大长度 textview...:1.3.3' 2、构建PopupWindow布局文件   这个比较简单,按效果图来 两个按钮,一个标题文本,一个WheelView <?...自定义PopupWindow 4、OneItemPopupWindow 的使用           ArrayList condition = new ArrayList(); /

    3.5K70

    Andriod基础——Adapter类

    默认情况下,ArrayAdapter绑定每个对象的toString值到在layout中预先定义的TextView控件上。...可变通的,构造函数允许你使用更加复杂的layout或者通过重写getView方法来扩展类从而使用TextView的替代物(如ImageView或嵌套的layout)。 ...使用Adapter进行数据绑定: 将Adapter应用到继承自AdapterView类上,你需要调用View的setAdapter方法,传入一个Adapter实例,如下面的片段所示: ArrayList...但是事实并非这样,因为按钮是无法映射的,即使你成功的用布局文件显示出了按钮也无法添加按钮的响应,这时就要研究一下ListView是如何现实的了,而且必须要重写一个类继承BaseAdapter。...下面的示例将显示一个按钮和一个图片,两行字如果单击按钮将删除此按钮的所在行。并告诉你ListView究竟是如何工作的。 vlist2.xml 1 <?

    1.7K50

    Android注册登录页面

    需求 主题:网抑云 用户注册 (账号 密码 性别 爱好…) (注册完成跳转到注册成功页面) 注册成功页面 (显示用户注册的详细信息) (可以跳转到登录页面) 登录页面 (使用用户注册时的账号密码登录...) (进行判断) 登录成功页面 (欢迎XXX(用户注册时的昵称)先生/女士 分析 不能使用回车多行输入 账号(不可为空) 密码(不可为空)(隐藏的) 确认密码(比对) 昵称(不可为空...ArrayList CityList = new ArrayList();//该省的城市列表(第二级) ArrayListArrayList...(i).getCityList().size(); c++) {//遍历该省份的所有城市 String CityName = jsonBean.get(i).getCityList...TextView result; // 登录按钮 Button login; // 账号 String zhanghao; // 密码

    9.9K30

    Android仿淘宝购物车,玩转电商购物车

    前言 其实做一个电商购物车,还真不是一个轻松的活。但是只要掌握思路,一步一步来做,就会发现也就这样。...,来计算计算金额和购物车数量,当该店铺的商品删除完时,便把该店铺从购物车中删除掉。... 删除操作 1.不要边遍历边删除,容易出现数组越界的情况 2.把将要删除的对象放进相应的容器中,待遍历完,用removeAll的方式进行删除 private void doDelete...】 * 当我们按下ActionBar的 "编辑"按钮, 应该把所有组的文字显示"编辑",并且设置按钮为不可见 * 当我们完成编辑后,再把组的编辑按钮设置为可见 * 不懂,请自己操作淘宝...,去判断是组对下辖的子元素编辑 还是ActionBar对组的下瞎元素的编辑 * 如果组的编辑按钮可见,那么肯定是组对自己下辖元素的编辑 * 如果组的编辑按钮不可见,那么肯定是ActionBar

    2.9K30

    Kotlin学习日志(二)数据类型

    1.2变量转换 Kotlin中进行数据转换和Java中不同,就不一一对比了,直接说Kotlin中如何进行数据类型转换,Kotlin中都是使用类型转换函数来进行数据类型转换的,让我们来认识一下,如下表 Kotlin...一开始我们定义了一个val data:Float 这里的val相当于Java的final,然后赋值给TextView显示出来,接下来点击Button按钮来转换data的值,不同的按钮对应不同的值。...(2) 分配一个常量数组,Kotlin调用的是 intArrayOf 方法,并不使用new关键字 下面用一个表格来详细说明Kotlin的数组类型及初始化方法 Kotlin的基本数组类型 数据类型的名称...使用**.length**,Kotlin使用**.size**(PS:前面有一个点) (2)获取指定位置的数组元素,Java通过方括号加下标来获取,比如“ string_array[2]”(PS:获取该数组的第三个元素...2.迭代器遍历 映射的迭代器通过next函数得到下一个元素,接着需访问该元素的key属性获取键名,访问该元素的value属性获取键值,下面是在映射中运用迭代器遍历的代码示例: 布局中加一个按钮 <Button

    3.4K20

    13.Android-ListView使用、BaseAdapterArrayAdapterSimpleAdapter适配器使用

    1.ListView ListView 是 Android 系统为我们提供的一种列表显示的一种控件,使用它可以用来显示我们常见的列表形式。继承自抽象类 AdapterView。继承图如下所示: ?...数组适配器用于绑定格式单一的数据,每个item只有一个数据需要被修改,数据源可以是集合或者数组 并且ArrayAdapter可以直接用来使用,无需再继承此类来实现....指向resource中要显示数据的一个textView控件id //第三个参数 要展示的数据数组 接下来,我们使用第二种构造方法来演示....xml布局文件里的要更改的控件内容ID号 ,用来对应from中的key值,表示设置的key值最终是更改哪些控件内容 效果如下: ?...则是要显示的数据,这里设置了2个key int[] to={R.id.tv_title,R.id.tv_content}; //填入要更改的控件内容ID号 ,用来对应from中的两个key

    2K20

    Android开发笔记(四十四)动态UI事件

    该方法的三个参数取值说明为:第一个参数表示当前页面的序号;第二个参数表示当前页面偏移的百分比,最小值为0,最大值为1;第三个参数表示当前页面的偏移距离,单位px。...基于AutoCompleteTextView的搜索控件 动画事件和翻页事件在前面章节有过示例了,这里就示范一下文本变化事件的使用。...,所以实际开发中很少直接使用SearchView。...点击下拉列表的某项,文本框自动填入该项的关键词文本; 3、点击搜索按钮,主页面通过回调获得搜索关键词,从而能够做进一步的处理; 下面是AutoCompleteTextView方式的效果图 ?...基于此,博主在下面又给出了基于EditText+ListView的实现方式,该方式除了在列表中显示关键词与数量外,还增加了一个叉号按钮用来立即清空文本框。

    1.1K10

    android学习笔记----关于findViewById那些事

    ,activity就会找到 XML 布局文件,并且读取它的每行代码,它会为每一个 View 填充或者创建一个 Java 对象,它遍历整个 XML 文件,并且建立 Java 对象间的层次关系,当它填充每一个...TextView 变量,它指向这个 TextView,如果你点击 UI 中的加、减按钮,你就可以改变 TextView 的文本使它显示不同的数字,又如何把 quantity引用变量与这个 TextView...但是我们还是不知道如何建立变量和具体的 Java 对象之间的联系,对于这个变量和 Java 对象 情况也是如此,在AppCompatActivity 类中,有一个具体的方法就是调用 findViewById...然后 findViewById 方法遍历它,找到那个视图层次结构中的某个 View,这个方法的返回值是 View 类型的对象。...= findViewById(R.id.textview); 又报错了,说类型不兼容,我们需要一个 TextView 类型,但这是一个 View 的对象,因为 findViewById 的返回值是 View

    36910

    揭开RecyclerView庐山真面目

    那么来学习在Android 5.X新增的一个列表组件,那就是RecyclerView的使用。 ?...一、RecyclerView概述 从前面的学习我们知道,ListView的功能非常强大,几乎绝大部分应用程序都会使用到,虽然也学会一些方法技巧来提升ListView的效率,但其性能还是不是很完美...从上图可以看到,要使用RecyclerView,需要先了解清楚LayoutManager和Adapter元素,分别如下: LayoutManager:用来确定每一个item如何进行排列摆放,何时展示和隐藏...继续使用WidgetSample工程的advancedviewsample模块,首先需要添加支持库,这里通过图形化的操作来实现,后期再学习直接代码添加。...在弹出的窗口中输入recyclerview,然后点击右侧的搜索按钮,即可检索到最新的recyclerview依赖库,最后点击OK按钮即可添加。 ?

    1.8K80

    【Android】使用Android开发应用过程中遇到ViewGroup的简单效以及aw和assets文件夹下的文件(Http协议的底层工作)

    Android为我们提供了View和ViewGroup子类的集合,其中提供了一些常见的输入控件(如按钮和文本字段)和各种布局模式(如线性或相对布局) 的最简单和最有效的方法是使用XML文件,这更符合人们的阅读习惯。XML与HTML相似,因为它使用XML元素的名称来表示视图。...因此,元素将在您的界面中创建一个TextView控件,而将为LinearLayout创建一个容器!...例如,具有文本视图和按钮的简单垂直布局 简单效果 要实现第一个布局的1:1效果,只需将两个LinearLayouts的权重分别更改为1和1。...public MyBaseExpandableListAdapter(ArrayList gData,ArrayListArrayList> iData, Context mContext

    68140

    ViewPager轻松完成TabHost效果

    上一期学习了ViewPager的简单使用,本期一起来学习ViewPager的更多用法。...相信很多同学都使用过今日头条APP吧,一打开主界面就可以看到顶部有很多Tab,然后通过左右滑动来切换,就可以通过ViewPager来完成。...接下来通过一个案例来学习PagerTabStrip的使用。 继续再上一期的案例基础上来进行修改,首先修改viewpager_layout.xml文件,修改后的代码如下: <?...二、自定义实现 上面我们使用了系统自带的控件来完成Tab显示,可能有的同学已经发现其与TabHost还是有一定的差别的,上面的Tab只显示3个,而且也不能完全满足实际需求,就需要我们自定义来实现了...接下来依然通过一个案例来学习如何自定义ViewPager的Tab标签。

    1.6K70

    Java中List遍历的几个问题

    ArrayList;这是和LinkedList的数据结构以及parallelStream的遍历逻辑有关系的4.JDK8中引入是stream在List的size在5000以下时遍历的时间由于其他遍历方式【...()亦或者使用System.nanoTime() ;  这里说明一下,可能你会看到有些建议使用System.nanoTime()来测试,但是它跟System.currentTimeMillis()区别,...因为这不是本文最终使用的测试方法,所以就不做详细介绍了。但是你使用它来测试上面的代码,至少可以排除等待CPU消耗的时间 对于后两者,需要加入Warmup(预热)阶段。...那就没有简单可靠的测试方法了吗?如果你认真看完上面提到的点,你应该会注意到Rule 8,没错,我就是使用Rule8提到的JMH来。...)     TextView textView;     private ArrayList as;     private LinkedList ls;

    1.3K10
    领券