本文介绍了安卓:从ArrayList中的Hashmap单获取价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以基本上,我有一个使用Hashmapping的数据库。
我运行一个查询后,我想输出的ID,并将其存储在另一个活动的数组。
在那之后,我想从数组访问一个元素。

下面是我的code数据库

 公开的ArrayList<&HashMap的LT;字符串,字符串>> getIDList(){
    ArrayList的<&HashMap的LT;字符串,字符串>> = IDList表的ArrayList新LT&;&HashMap的LT;字符串,字符串>>();
    字符串selectQuery =SELECT CardId中FROM抽认卡;
    SQLiteDatabase数据库= this.getWritableDatabase();    光标光标= database.rawQuery(selectQuery,NULL);
    如果(cursor.moveToFirst()){
        做{HashMap的<字符串,字符串> cardMap =新的HashMap<字符串,字符串>();
        cardMap.put(CardId中,cursor.getString(0));
        IDList.add(cardMap);        }而(cursor.moveToNext());
    }
    返回IDList表;

这是code,其中我想访问的元素。在这种情况下,我想访问的第一要素。但是,一个误差

  @覆盖
保护无效的onCreate(捆绑savedInstanceState){
    super.onCreate(savedInstanceState);
    的setContentView(R.layout.activity_flashcards_random);
    TextView的currentID =(的TextView)findViewById(R.id.currentIdText);
    ArrayList的<&HashMap的LT;字符串,字符串>> IDList表= dbTools.getIDList();
    currentID.setText((IDList.get(0))的toString());}

有什么建议?

编辑:根据要求更多code。

这是DB工具code

 包com.izulki.flipper;进口的java.util.ArrayList;
进口的java.util.HashMap;进口android.content.ContentValues​​;
进口android.content.Context;
进口android.database.Cursor;
进口android.database.sqlite.SQLiteDatabase;
进口android.database.sqlite.SQLiteOpenHelper;公共类的DBTools扩展SQLiteOpenHelper {
    公共DBTool中(上下文的applicationContext){
        超(ApplicationContext一flashcards.db,NULL,1);
    }    字符串数据库名=闪卡;    @覆盖
    公共无效的onCreate(SQLiteDatabase数据库){
        查询字符串=CREATE TABLE卡片(CardId中INTEGER PRIMARY KEY,问题VARCHAR,VARCHAR回答,主题VARCHAR,INTEGER回答​​,正确INTEGER);
        database.execSQL(查询);    }    @覆盖
    公共无效onUpgrade(SQLiteDatabase数据库,诠释oldVersiom,诠释静态网页){
        查询字符串=DROP TABLE IF EXISTS抽认卡;        database.execSQL(查询);
        的onCreate(数据库);    }    公共布尔checkCard(字符串CardId中){
        SQLiteDatabase数据库= this.getReadableDatabase();
        光标光标= database.rawQuery(SELECT * FROM WHERE卡片= CardId中?,新的String [] {CardId中});
                布尔存在=(cursor.getCount()大于0);
        cursor.close();
        返回的存在;    }    公共无效insertCard(HashMap的<字符串,字符串> queryValues​​){        SQLiteDatabase数据库= this.getWritableDatabase();
        ContentValues​​值=新ContentValues​​();
        values​​.put(问题,queryValues​​.get(问题));
        values​​.put(答案,queryValues​​.get(答案));
        values​​.put(主体,queryValues​​.get(主体));
        values​​.put(回答,0);
        values​​.put(正确的,0);        database.insert(闪卡,空,价值);
        database.close();    }    公众诠释getCardsCount(){
        字符串countQuery =SELECT * FROM抽认卡;
        SQLiteDatabase卡片= this.getReadableDatabase();
        光标光标= flashcards.rawQuery(countQuery,NULL);
        INT CNT = cursor.getCount();
        cursor.close();
        返回CNT;
    }
    公众诠释updateCard(HashMap的<字符串,字符串> queryValues​​){
        SQLiteDatabase数据库= this.getWritableDatabase();
        ContentValues​​值=新ContentValues​​();
        values​​.put(问题,queryValues​​.get(问题));
        values​​.put(答案,queryValues​​.get(答案));
        values​​.put(主体,queryValues​​.get(主体));
        返回database.update(闪卡,价值观念,
                CardId中+=?,新的String [] {queryValues​​.get(CardId中)});
    }    公共无效resetCardStatistics(INT CardId中){
        SQLiteDatabase数据库= this.getWritableDatabase();
        字符串resetQuery =UPDATE卡片SET回答= 0,正确= 0 WHERE CardId中='+ CardId中+';
        database.execSQL(resetQuery);
    }
    公共无效deleteAllCards(){
        SQLiteDatabase数据库= this.getWritableDatabase();
        字符串deleteQuery =删除卡片;
        database.execSQL(deleteQuery);    }    公共无效deleteCard(INT CardId中){
        SQLiteDatabase数据库= this.getWritableDatabase();
        字符串deleteQuery =DELETE FROM WHERE卡片CardId中='+ CardId中+';
        database.execSQL(deleteQuery);    }    公众的ArrayList<&HashMap的LT;字符串,字符串>> getAllCards(){
        ArrayList的<&HashMap的LT;字符串,字符串>> cardArrayList =新的ArrayList<&HashMap的LT;字符串,字符串>>();
        字符串selectQuery =SELECT * FROM卡片ORDER BY主题;
        SQLiteDatabase数据库= this.getWritableDatabase();        光标光标= database.rawQuery(selectQuery,NULL);
        如果(cursor.moveToFirst()){
            做{
                HashMap的<字符串,字符串> cardMap =新的HashMap<字符串,字符串>();
                cardMap.put(CardId中,cursor.getString(0));
                cardMap.put(问题,cursor.getString(1));
                cardMap.put(答案,cursor.getString(2));
                cardMap.put(主体,cursor.getString(3));            cardArrayList.add(cardMap);
            }而(cursor.moveToNext());
        }
        返回cardArrayList;
    }    公众的ArrayList<&HashMap的LT;字符串,字符串>> getCardsSubject(字符串subjectSearch){
        ArrayList的<&HashMap的LT;字符串,字符串>> subjectList =新的ArrayList<&HashMap的LT;字符串,字符串>>();
        字符串selectQuery =SELECT CardId中从卡片WHERE主题='+ subjectSearch +';
        SQLiteDatabase数据库= this.getWritableDatabase();        光标光标= database.rawQuery(selectQuery,NULL);
        如果(cursor.moveToFirst()){
            做{HashMap的<字符串,字符串> cardMap =新的HashMap<字符串,字符串>();
            cardMap.put(CardId中,cursor.getString(0));
            subjectList.add(cardMap);            }而(cursor.moveToNext());
        }
        返回subjectList;    }    公众的ArrayList<&HashMap的LT;字符串,字符串>> getIDList(){
        ArrayList的<&HashMap的LT;字符串,字符串>> = IDList表的ArrayList新LT&;&HashMap的LT;字符串,字符串>>();
        字符串selectQuery =SELECT CardId中FROM抽认卡;
        SQLiteDatabase数据库= this.getWritableDatabase();        光标光标= database.rawQuery(selectQuery,NULL);
        如果(cursor.moveToFirst()){
            做{HashMap的<字符串,字符串> cardMap =新的HashMap<字符串,字符串>();
            cardMap.put(CardId中,cursor.getString(0));
            IDList.add(cardMap);            }而(cursor.moveToNext());
        }
        返回IDList表;    }    公众的HashMap<字符串,字符串> getQuestionFromID(INT randomID){
    HashMap的<字符串,字符串> questionFinal =新的HashMap<字符串,字符串>();
    SQLiteDatabase数据库= this.getReadableDatabase();
    字符串selectQuery ='+ randomID +从卡片WHERE CardId中=选择问题:';
    光标光标= database.rawQuery(selectQuery,NULL);
    如果(cursor.moveToFirst()){
        做{
        questionFinal.put(问题,cursor.getString(0));
    }而(cursor.moveToNext());
    }
     返回questionFinal;
    }    公众的HashMap<字符串,字符串> getAnswerFromID(INT randomID){
        HashMap的<字符串,字符串> answerFinal =新的HashMap<字符串,字符串>();
        SQLiteDatabase数据库= this.getReadableDatabase();
        字符串selectQuery =SELECT回答卡片WHERE CardId中='+ randomID +';
        光标光标= database.rawQuery(selectQuery,NULL);
        如果(cursor.moveToFirst()){
            做{
            answerFinal.put(答案,cursor.getString(0));
        }而(cursor.moveToNext());
        }
         返回answerFinal;
        }    公共无效incrementCorrect(INT ID){
        SQLiteDatabase数据库= this.getWritableDatabase();
        字符串incrementQuery =UPDATE卡片设置正确的=正确+1 WHERE CardId中='+身份证+';
        database.execSQL(incrementQuery);
    }    公共无效incrementAnswered(INT randomID){
        SQLiteDatabase数据库= this.getWritableDatabase();
        字符串incrementQuery =UPDATE卡片SET回答=回答+1 WHERE CardId中='+ randomID +';
        database.execSQL(incrementQuery);
    }    公众的HashMap<字符串,字符串> getCardInfo(INT randomID){
    HashMap的<字符串,字符串> cardMap =新的HashMap<字符串,字符串>();
    SQLiteDatabase数据库= this.getReadableDatabase();
    字符串selectQuery =SELECT * FROM WHERE卡片CardId中='+ randomID +';    光标光标= database.rawQuery(selectQuery,NULL);
    如果(cursor.moveToFirst()){
        做{            cardMap.put(CardId中,cursor.getString(0));
            cardMap.put(问题,cursor.getString(1));
            cardMap.put(答案,cursor.getString(2));
            cardMap.put(主体,cursor.getString(3));
            cardMap.put(回答,cursor.getString(4));
            cardMap.put(正确的,cursor.getString(5));        }而(cursor.moveToNext());
    }
        返回cardMap;    }
}

这是活动code

 包com.izulki.flipper;进口的java.util.ArrayList;
进口的java.util.HashMap;进口android.os.Bundle;
进口android.app.Activity;
进口android.view.Menu;
进口android.widget.TextView;
进口android.widget.Toast;公共类FlashcardsAnswer延伸活动{    DBTool中的DBTools =新的DBTools(本);    @覆盖
    保护无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_flashcards_random);
        TextView的currentID =(的TextView)findViewById(R.id.currentIdText);
        ArrayList的<&HashMap的LT;字符串,字符串>> IDList表= dbTools.getIDList();
        currentID.setText((IDList.get(0))的toString());    }    @覆盖
    公共布尔onCreateOptionsMenu(菜单菜单){
        //充气菜单;如果是present这增加了项目操作栏。
        。getMenuInflater()膨胀(R.menu.flashcards_answer,菜单);
        返回true;
    }}

这是错误

  15 02-21:02:55.777:E / AndroidRuntime(1827):致命异常:主要
02-21 15:02:55.777:E / AndroidRuntime(1827):了java.lang.RuntimeException:无法实例化应用android.app.Application:java.lang.IllegalStateException:无法获取包信息的com.izulki.flipper;包是没有安装?
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.LoadedApk.makeApplication(LoadedApk.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.ActivityThread.handleBindApplication(ActivityThread.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.ActivityThread.access $ 1300(ActivityThread.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.os.Handler.dispatchMessage(Handler.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.os.Looper.loop(Looper.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.ActivityThread.main(ActivityThread.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在java.lang.reflect.Method.invokeNative(本机方法)
02-21 15:02:55.777:E / AndroidRuntime(1827):在java.lang.reflect.Method.invoke(Method.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在dalvik.system.NativeStart.main(本机方法)
02-21 15:02:55.777:E / AndroidRuntime(1827):java.lang.IllegalStateException:产生的原因无法获取包信息的com.izulki.flipper;包是没有安装?
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):在android.app.LoadedApk.getClassLoader(LoadedApk.java)
02-21 15:02:55.777:E / AndroidRuntime(1827):12 ...更多


解决方案

试试这个:

 对(HashMap的<字符串,字符串>图:IDList表)
     对于(进入<字符串,字符串> mapEntry:map.entrySet())
        {
        字符串键= mapEntry.getKey();
        字符串值= mapEntry.getValue();
        }

有关单个元素: IDList.get(0)获得(键);

So basically, I have a database that uses Hashmapping.After I run a query, I'd like to output the ID's and store it in an array in another activity.After that, I'd like to access a single element from the array.

Here's my code for the database

public ArrayList<HashMap<String, String>> getIDList() {
    ArrayList<HashMap<String, String>> IDList = new ArrayList<HashMap<String, String>>();
    String selectQuery = "SELECT cardID FROM flashcards";
    SQLiteDatabase database = this.getWritableDatabase();

    Cursor cursor = database.rawQuery(selectQuery, null);
    if(cursor.moveToFirst()) {
        do { HashMap<String, String> cardMap = new HashMap<String, String>();
        cardMap.put("cardID", cursor.getString(0));
        IDList.add(cardMap);

        } while(cursor.moveToNext());
    }
    return IDList;

This is the code where I am trying to access the elements. In this case, I'd like to access the first element. But an error

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


    TextView currentID = (TextView) findViewById(R.id.currentIdText);
    ArrayList<HashMap<String, String>> IDList = dbTools.getIDList();
    currentID.setText((IDList.get(0)).toString());



}

any suggestions?

EDIT: More code as requested.

This is DB Tools code

    package com.izulki.flipper;

import java.util.ArrayList;
import java.util.HashMap;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBTools extends SQLiteOpenHelper {


    public DBTools(Context applicationContext){
        super(applicationContext, "flashcards.db", null, 1);
    }

    String DBName = "flashcards";

    @Override
    public void onCreate(SQLiteDatabase database) {
        String query = "CREATE TABLE flashcards (cardID INTEGER PRIMARY KEY, question VARCHAR, answer VARCHAR, subject VARCHAR, answered INTEGER, correct INTEGER)";
        database.execSQL(query);

    }

    @Override 
    public void onUpgrade(SQLiteDatabase database, int oldVersiom, int newVersion) {
        String query = "DROP TABLE IF EXISTS flashcards";

        database.execSQL(query);
        onCreate(database);

    }

    public boolean checkCard(String CardID) {
        SQLiteDatabase database = this.getReadableDatabase();
        Cursor cursor = database.rawQuery("SELECT * FROM flashcards WHERE CardID = ? ", new String[]{CardID});
                boolean exists = (cursor.getCount() > 0);
        cursor.close();
        return exists;

    }

    public void insertCard(HashMap<String, String> queryValues) {

        SQLiteDatabase database = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("question", queryValues.get("question"));
        values.put("answer", queryValues.get("answer"));
        values.put("subject", queryValues.get("subject"));
        values.put("answered", 0);
        values.put("correct", 0);

        database.insert("flashcards", null, values);
        database.close();

    }



    public int getCardsCount() {
        String countQuery = "SELECT * FROM flashcards";
        SQLiteDatabase flashcards = this.getReadableDatabase();
        Cursor cursor = flashcards.rawQuery(countQuery, null);
        int cnt = cursor.getCount();
        cursor.close();
        return cnt;
    }






    public int updateCard(HashMap<String, String> queryValues) {
        SQLiteDatabase database = this.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put("question", queryValues.get("question"));
        values.put("answer", queryValues.get("answer"));
        values.put("subject", queryValues.get("subject"));


        return database.update("flashcards", values, 
                "cardID" + " =?", new String[] {queryValues.get("cardID")});
    }

    public void resetCardStatistics(int cardID) {
        SQLiteDatabase database = this.getWritableDatabase();
        String resetQuery = "UPDATE flashcards SET answered = 0, correct = 0 WHERE CardID ='" + cardID + "'";
        database.execSQL(resetQuery);
    }


    public void deleteAllCards() {
        SQLiteDatabase database = this.getWritableDatabase();
        String deleteQuery = "Delete FROM flashcards";
        database.execSQL(deleteQuery);

    }

    public void deleteCard(int cardID) {
        SQLiteDatabase database = this.getWritableDatabase();
        String deleteQuery = "DELETE FROM flashcards WHERE CardID ='" + cardID + "'";
        database.execSQL(deleteQuery);

    }



    public ArrayList<HashMap<String, String>> getAllCards(){
        ArrayList<HashMap<String, String>> cardArrayList = new ArrayList<HashMap<String, String>>();
        String selectQuery = "SELECT * FROM flashcards ORDER BY subject";
        SQLiteDatabase database = this.getWritableDatabase();

        Cursor cursor = database.rawQuery(selectQuery, null);
        if(cursor.moveToFirst()){
            do{
                HashMap<String, String> cardMap = new HashMap<String, String>();
                cardMap.put("cardID", cursor.getString(0));
                cardMap.put("question", cursor.getString(1));
                cardMap.put("answer", cursor.getString(2));
                cardMap.put("subject", cursor.getString(3));

            cardArrayList.add(cardMap);
            } while(cursor.moveToNext());
        }
        return cardArrayList;
    }

    public ArrayList<HashMap<String, String>> getCardsSubject(String subjectSearch) {
        ArrayList<HashMap<String, String>> subjectList = new ArrayList<HashMap<String, String>>();
        String selectQuery = "SELECT cardID FROM flashcards WHERE subject = '" + subjectSearch + "'";
        SQLiteDatabase database = this.getWritableDatabase();

        Cursor cursor = database.rawQuery(selectQuery, null);
        if(cursor.moveToFirst()) {
            do { HashMap<String, String> cardMap = new HashMap<String, String>();
            cardMap.put("cardID", cursor.getString(0));
            subjectList.add(cardMap);

            } while(cursor.moveToNext());
        }
        return subjectList;

    }

    public ArrayList<HashMap<String, String>> getIDList() {
        ArrayList<HashMap<String, String>> IDList = new ArrayList<HashMap<String, String>>();
        String selectQuery = "SELECT cardID FROM flashcards";
        SQLiteDatabase database = this.getWritableDatabase();

        Cursor cursor = database.rawQuery(selectQuery, null);
        if(cursor.moveToFirst()) {
            do { HashMap<String, String> cardMap = new HashMap<String, String>();
            cardMap.put("cardID", cursor.getString(0));
            IDList.add(cardMap);

            } while(cursor.moveToNext());
        }
        return IDList;

    }

    public HashMap<String, String> getQuestionFromID(int randomID) {
    HashMap<String, String> questionFinal = new HashMap<String, String>();
    SQLiteDatabase database = this.getReadableDatabase();
    String selectQuery = "SELECT question FROM flashcards WHERE cardID ='" + randomID + "'";
    Cursor cursor = database.rawQuery(selectQuery, null);
    if (cursor.moveToFirst()) {
        do{
        questionFinal.put("question", cursor.getString(0));
    } while (cursor.moveToNext());
    }
     return questionFinal;
    }

    public HashMap<String, String> getAnswerFromID(int randomID) {
        HashMap<String, String> answerFinal = new HashMap<String, String>();
        SQLiteDatabase database = this.getReadableDatabase();
        String selectQuery = "SELECT answer FROM flashcards WHERE cardID ='" + randomID + "'";
        Cursor cursor = database.rawQuery(selectQuery, null);
        if (cursor.moveToFirst()) {
            do{
            answerFinal.put("answer", cursor.getString(0));
        } while (cursor.moveToNext());
        }
         return answerFinal;
        }

    public void incrementCorrect(int ID){
        SQLiteDatabase database = this.getWritableDatabase();
        String incrementQuery = "UPDATE flashcards SET correct = correct +1 WHERE CardID = '" + ID + "'" ;
        database.execSQL(incrementQuery);
    }

    public void incrementAnswered(int randomID) {
        SQLiteDatabase database = this.getWritableDatabase();
        String incrementQuery = "UPDATE flashcards SET answered = answered +1 WHERE CardID = '" + randomID + "'" ;
        database.execSQL(incrementQuery);
    }

    public HashMap<String, String> getCardInfo(int randomID){
    HashMap<String, String> cardMap = new HashMap<String, String>();
    SQLiteDatabase database = this.getReadableDatabase();
    String selectQuery = "SELECT * FROM flashcards WHERE cardID ='" + randomID + "'";

    Cursor cursor = database.rawQuery(selectQuery, null);
    if(cursor.moveToFirst()){
        do{

            cardMap.put("cardID", cursor.getString(0));
            cardMap.put("question", cursor.getString(1));
            cardMap.put("answer", cursor.getString(2));
            cardMap.put("subject", cursor.getString(3));
            cardMap.put("answered", cursor.getString(4));
            cardMap.put("correct", cursor.getString(5));

        } while(cursor.moveToNext());
    }
        return cardMap;

    }
}

This is the activity code

    package com.izulki.flipper;

import java.util.ArrayList;
import java.util.HashMap;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

public class FlashcardsAnswer extends Activity {

    DBTools dbTools = new DBTools(this);

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


        TextView currentID = (TextView) findViewById(R.id.currentIdText);
        ArrayList<HashMap<String, String>> IDList = dbTools.getIDList();
        currentID.setText((IDList.get(0)).toString());



    }





    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.flashcards_answer, menu);
        return true;
    }

}

And this is the error

    02-21 15:02:55.777: E/AndroidRuntime(1827): FATAL EXCEPTION: main
02-21 15:02:55.777: E/AndroidRuntime(1827): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.IllegalStateException: Unable to get package info for com.izulki.flipper; is package not installed?
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.LoadedApk.makeApplication(LoadedApk.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.ActivityThread.access$1300(ActivityThread.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.os.Handler.dispatchMessage(Handler.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.os.Looper.loop(Looper.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.ActivityThread.main(ActivityThread.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at java.lang.reflect.Method.invokeNative(Native Method)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at java.lang.reflect.Method.invoke(Method.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at dalvik.system.NativeStart.main(Native Method)
02-21 15:02:55.777: E/AndroidRuntime(1827): Caused by: java.lang.IllegalStateException: Unable to get package info for com.izulki.flipper; is package not installed?
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     at android.app.LoadedApk.getClassLoader(LoadedApk.java)
02-21 15:02:55.777: E/AndroidRuntime(1827):     ... 12 more
解决方案

Try this :

for (HashMap<String, String> map : IDList)
     for (Entry<String, String> mapEntry : map.entrySet())
        {
        String key = mapEntry.getKey();
        String value = mapEntry.getValue();
        }

For single Element : IDList.get(0).get(key);

这篇关于安卓:从ArrayList中的Hashmap单获取价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 09:24