0

あなたの助けが必要です!Google の紫色のリンクが 3 ページあり、このような簡単な作業に行き詰まっています。私がやろうとしているのは、複数の HashMap を含む HashMap タイプの ArrayList を取得し、ListAdapter を使用してそれらを表示することです。SQL DB から情報を取得しています。これが可能であることはわかっていますが、何が間違っているのかわかりません。リストは空白で表示されます。

public class History extends ListActivity {

    ArrayList<HashMap<String, String>> inboxList;
    HashMap<String, String> dealList;
    ListView lv;
    AddSQL entry;
    Button bRefresh;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.history);

        entry = new AddSQL(History.this);
        inboxList = new ArrayList<HashMap<String, String>>();


        ListAdapter adapter = new SimpleAdapter(History.this, inboxList, R.layout.history_list, new String[] { SEX, NAME, RATING, DATE },
                new int[] { R.id.sex, R.id.name, R.id.rating, R.id.date });
        inboxList = entry.getAllEntrys();
        setListAdapter(adapter);

    }

/** これは私の SQL です */

public ArrayList<HashMap<String, String>> getAllEntrys(){
    Log.d("Select", "Get");

    String s = "";
    String n = "";
    String r = "";
    String d = "";

    String select = "SELECT sex, name, rating, date FROM " + MAIN_TABLE;

    ArrayList<HashMap<String, String>> inboxList = new ArrayList<HashMap<String, String>>();
    Log.d("Select", "1");
    try{
        open();
        Cursor mCursor = database.rawQuery(select, null);
        while(mCursor.moveToNext()){

            HashMap<String, String> dealList = new HashMap<String, String>();
            s = mCursor.getString(mCursor.getColumnIndex(SEX)); 
            n = mCursor.getString(mCursor.getColumnIndex(NAME));
            r = mCursor.getString(mCursor.getColumnIndex(RATING));
            d = mCursor.getString(mCursor.getColumnIndex(DATE));

            dealList.put(SEX, s);
            dealList.put(NAME, n);
            dealList.put(RATING, r);
            dealList.put(DATE, d);
            inboxList.add(dealList);
        } 
        return null;    
    }catch (Exception e){
        Log.e("Sort By List", "ERROR: " + e);
        e.printStackTrace();
    }
    return null;
}
4

1 に答える 1

0

getAllEntrys は常に null を返します。try ブロックの inboxList にする必要があります。

于 2012-09-08T23:46:33.847 に答える