【问题标题】:How can i get the specific data from array如何从数组中获取特定数据
【发布时间】:2017-05-14 14:09:58
【问题描述】:

我的问题是当我将数据从 sqlite 数据库存储到数组中时,我如何从特定位置获取它,比如说,我的数据库包含“食物、饮料、零食”,我如何从数组中获取字符串“零食”。

 String CatNameQuery = "SELECT * FROM Category";
    db = new DBController(MainActivity.this);
    SQLiteDatabase db3 = db.getReadableDatabase();
    final Cursor cursor2 = db3.rawQuery(CatNameQuery, null);
    {
        List<String> array = new ArrayList<String>();

        while(cursor2.moveToNext()){
            String uname = cursor2.getString(cursor2.getColumnIndex("CategoryName"));
            array.add(uname); 

    }

【问题讨论】:

  • 通过使用array.get(position);您将从特定位置获取特定数据。
  • @snehadesai,感谢 array.get(position);对我有用

标签: java android arrays sqlite


【解决方案1】:
if (array.size() > 0) {
    int index = 0;
    if (array.contains("Snacks")) {
        index = array.indexOf("Snacks");
        System.out.println(array.get(index));
    }
}

【讨论】:

    【解决方案2】:

    你可以通过循环数组找到它

    List<String> arrobj= new ArrayList<String>();
    arrobj.add("food");
    arrobj.add("drinks");
    arrobj.add("snack");  
    for (String value : arrobj) {
    if (value.equals("snack")) {
        System.out.println("Here is the snack");
    }
    }  
    

    【讨论】:

      【解决方案3】:
      List<String> array = new ArrayList<String>();
      array.add("food");
      array.add("drinks");
      array.add("snack");
      String result="";
      if (array.contains("snack"))   // avoid null pointer exception
      {
      int index =array.indexOf("snack") //find the index of arraylist
      
      result=array.get(index); 
      }
      

      【讨论】:

        【解决方案4】:

        在 SELECT 查询中使用 WHERE 子句。例如:

        "SELECT * FROM Category WHERE CategoryName='snacks'"
        

        这将只用“零食”类别下的项目填充您的数组。

        【讨论】:

        • 我想循环所有数据并将其传递给特定的文本视图。那是你我不能使用这个查询
        • 那么你确实需要像其他人演示的那样遍历数组。
        【解决方案5】:

        您需要遍历列表才能找到您要查找的项目。

        例如:

        for (String s : array) {
            if (s.equals("snack")) {
                System.out.println("Found snack");
            }
        }
        

        您也可以使用contains 方法检查列表是否包含“snack”。

        if (array.contains("snack")) {
            System.out.println("Found snack");
        }
        

        资源:ArrayList

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-06-25
          • 1970-01-01
          • 2017-03-26
          • 1970-01-01
          • 1970-01-01
          • 2022-01-04
          相关资源
          最近更新 更多