【问题标题】:How to view all items in arraylist java?如何查看arraylist java中的所有项目?
【发布时间】:2012-07-14 16:25:09
【问题描述】:

在我的 android 应用程序中,我希望能够将字符串值添加到我在主要 android 活动中声明的静态数组列表中。逻辑是这样的:

1) 当您单击一个按钮并启动一个活动时。在 oncreate 方法上,我想将作为当前活动的类的名称保存为字符串值。例如:

String className = "com.lunchlist.demo";

分配此值后,我想立即将此字符串值添加到我在主要 android 活动中声明的静态 ArrayList(意味着第一个启动的 android 活动)添加值后

我做了这样的事情:

static String List<String> members = new ArrayList<String>();

这是在我的主要活动中声明的。现在,当我单击一个按钮开始另一个活动时,我使用它在我的 oncreate 方法中将当前活动的字符串类名添加到我的数组列表中:

  String className = "com.lunchlist.demo" 
  members.add(className);

我现在的问题是,这会将字符串值添加到我的数组列表中并保存以备后用吗?例如,如果我单击三个不同的按钮,这会将三个不同的 className 值添加到 arraylist。这是否会存储一个字符串值,该字符串值将为我的成员数组列表保存三个不同的字符串值?我将如何检查我的数组列表中的每个项目以查看在启动新活动时是否正在添加值?

我问这个是因为我需要检索它并使用共享首选项存储这些值,然后检索它们并使用作为启动活动的类的字符串值启动一个意图。我让活动从一个类名的字符串值开始,我只是在存储它们时遇到了问题。

【问题讨论】:

    标签: java android list arraylist


    【解决方案1】:

    使用 Java 1.5 中引入的 For-Each 进行迭代:

    for (String s : members){
        Log.d("My array list content: ", s);
    }
    

    查看此链接了解更多详情:

    http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

    【讨论】:

    • 谢谢,我会试试的。我还问它会将三个字符串值存储在我的数组列表中吗?
    • members.add(classname) 必须在按钮的onClick中,或者在onCreate()中
    【解决方案2】:

    回答您的所有问题:

    这会将字符串值添加到我的数组列表中并保存以供以后使用 用吗?

    是的。你的代码看起来很完美,没有问题。

    例如,如果我单击三个不同的按钮,这将添加三个 不同的 className 值到 arraylist。然后这会存储一个 字符串值,它将为我保存三个不同的字符串值 成员数组列表?

    如果您告诉按钮的 onClickListener 向成员 ArrayList 添加一个字符串,那么它将完成,无论您之前是否已经将该成员添加到 ArrayList 因为数组列表不关心是否有重复数据与否。

    我将如何检查我的数组列表中的每个项目以查看值是否为 在启动新活动时添加?

    您必须使用 for 或 for-each cicle 迭代您的数组列表,然后将该成员名称打印为日志条目。

    • 每个循环

      for (String member : members){
          Log.i("Member name: ", member);
      }
      
    • 简单的循环

      int listSize = members.size();
      
      for (int i = 0; i<listSize; i++){
          Log.i("Member name: ", members.get(i));
      }
      

    如果您尝试打印/记录索引超出范围的值,即i &lt; 0 || i &gt;= listSize,则会抛出IndexOutOfBoundsException 并使您的应用崩溃。

    【讨论】:

      【解决方案3】:

      试试这个:)

      我们可以通过这两种方式来实现

      1. foreach

      2. for循环

      字符串类型数组列表

      ArrayList<String> limits = new ArrayList<String>(); // String arrayList 
                      
                     
      

      使用 foreach

                      for (String str_Agil : limits)   // using foreach 
                      {
                          Log.e("Agil_Limits - " , str_Agil);
                      }
      

      使用for循环

                      for(int agil=0; agil<=limits.size(); agil++) // using for loop
                      {
                          Log.e("Agil_Limits - " , limits.get(agil).toString());
                      }
      

      【讨论】:

        猜你喜欢
        • 2013-02-17
        • 2019-09-23
        • 2017-04-03
        • 2016-07-30
        • 1970-01-01
        • 2011-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多