0

別の関数からフェッチされた で動的に作成されListViewたを作成しようとしています。ArrayListエラーが発生しています"The constructor ArrayAdapter<String>(ShowRecords, ListView, ArrayList<String>) is undefined"。の私のコードは次のListActivityとおりです。

public class ShowRecords extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LinearLayout ll = new LinearLayout(this);
        ll.setOrientation(LinearLayout.VERTICAL);

        DatabaseHandler db = new DatabaseHandler(this);
        ArrayList<String> records = db.getRecords();

        ListView lv = new ListView(this);
        this.setListAdapter(new ArrayAdapter<String>(this, lv, records));
    } 

}

getRecords()関数のコードは次のとおりです。

public ArrayList<String> getRecords() {
    ArrayList<String> recordList = new ArrayList<String>();
    String selectQuery = "SELECT millis FROM records ORDER BY CAST(millis as SIGNED) DESC LIMIT 10";

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(selectQuery, null);

    if (cursor != null) {
        if (cursor.moveToFirst()) {
            do {
                recordList.add(cursor.getString(0));
            } while (cursor.moveToNext());
        }
    }

    return recordList;
}

これを修正するにはどうすればよいですか?

4

2 に答える 2

1

ListActivity を使用しているため、リストビューを宣言する必要はありません。

これを試してください、これはうまくいくはずです!

public class ShowRecords extends ListActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);

    DatabaseHandler db = new DatabaseHandler(this);
    ArrayList<String> records = db.getRecords();
    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, records));
} 

}
于 2012-05-28T14:26:21.060 に答える
0

利用可能なコンストラクターのリストは次のとおりです。

[Public Method] [Constructor] ArrayAdapter(Context, int) : void
[Public Method] [Constructor] ArrayAdapter(Context, int, int) : void
[Public Method] [Constructor] ArrayAdapter(Context, int, Object[]) : void
[Public Method] [Constructor] ArrayAdapter(Context, int, List) : void
[Public Method] [Constructor] ArrayAdapter(Context, int, int, List) : void
[Public Method] [Constructor] ArrayAdapter(Context, int, int, Object[]) : void

あなたは確かにこれを使いたい:

[Public Method] [Constructor] ArrayAdapter(Context, int, Object[]) : void

つまり、次のことを意味します。

this.setListAdapter(new ArrayAdapter<String>(this, R.id.whateveridyouchoose, records));
于 2012-05-28T14:26:10.927 に答える