2016-12-30 29 views
0

私の質問は、sqliteデータベースの配列にデータを格納するときです。どうすれば特定の位置から取得できますか?データベースには「食品、飲料、スナック」が含まれています。配列から "snack"という文字列を取得します。配列から特定のデータを取得する方法

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); 

    } 
+1

をループすることにより、それを見つけることができます。特定の位置から特定のデータを取得します。 –

+0

@snehadesai、ありがとうarray.get(position); – AnthonyTang

答えて

0

あなたが探しているアイテムを見つけるためには、リストを繰り返し処理する必要があります。例えば

:リストが含まれている場合

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

また、チェックするためにcontainsメソッドを使用することができ、「おやつを。」

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

リソース:ArrayList

0
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); 
} 
0

あなたのSELECTクエリ内のWHERE句を使用します。例:

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

これは、カテゴリー 'スナック'の下にあるアイテムのみを配列に埋め込みます。

+0

私はすべてのデータをループして特定のtextviewに渡したい。それでは、このクエリを使用することはできません – AnthonyTang

+0

次に、他のものが実証したように、配列を繰り返し処理する必要があります。 – DevilsHnd

0

あなたはarray.get(位置)を使用することにより、配列

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"); 
} 
} 
0
if (array.size() > 0) { 
    int index = 0; 
    if (array.contains("Snacks")) { 
     index = array.indexOf("Snacks"); 
     System.out.println(array.get(index)); 
    } 
} 
関連する問題