2011-12-24 8 views
1

私は2つのメド、1つはSQLデータを収集し、もう1つはリストビューに入れます。SQLの部分で正しく配列を取得できないようですリストビューに渡されます。Android:SQLデータを配列に入れよう

SQL行為:

public String[] getDataInArray() { // get data for list and return in array form 
    // TODO Auto-generated method stub 

    String[] columms = new String[]{ KEY_ROWID, KEY_NAME}; 
    String[] return_colums = null; 

    Cursor c = currentdatabase.query(DATABASE_TABLE, columms, null, null, null, null, null); 

    int iRow = c.getColumnIndex(KEY_ROWID); 
    int iName = c.getColumnIndex(KEY_NAME); 
    int rowcount = 0; 

    for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) 
    { 
     return_colums[rowcount] = c.getString(iName) + "," + c.getString(iRow); 
     rowcount = rowcount + 1; 
    } 

    return return_colums; 
} 

そして、リストビュー行為:

public ListView whiskeylist; 
public String[] DataArryWhiskey; 

     @Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Start db view of whiskey 

    DBConfig whiskeyrows = new DBConfig(this); 


    whiskeyrows.open(); 
    DataArryWhiskey = whiskeyrows.getDataInArray(); 
    whiskeyrows.close(); 

    Toast.makeText(MainScreen.this, result, Toast.LENGTH_LONG).show(); 

    whiskeylist = (ListView)findViewById(R.id.listofWhiskey); 
    whiskeylist.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , DataArryWhiskey)); 


    // End db view of whiskey 

}// end onCreate 

私がクラッシュし続けているが、誰も助けにはビットに会ったことができますか? Thx事前に

+0

あなたのlogcatを投稿する場合は、あなたの代わりにSimpleCursorAdapterを使用しなかった理由をリストビューにデータを渡す必要がある場合、それは –

+0

を助けるかもしれないログ? –

答えて

1

戻るreturn_colums definationとdeclaration。

public String[] getDataInArray() { // get data for list and return in array form 
// TODO Auto-generated method stub 

String[] columms = new String[]{ KEY_ROWID, KEY_NAME}; 


Cursor c = currentdatabase.query(DATABASE_TABLE, columms, null, null, null, null, null); 

int iRow = c.getColumnIndex(KEY_ROWID); 
int iName = c.getColumnIndex(KEY_NAME); 
int rowcount = 0; 
    String[] return_colums = new String[c.getCount()]; 
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) 
{ 
    return_colums[rowcount] = c.getString(iName) + "," + c.getString(iRow); 
    rowcount = rowcount + 1; 
} 

return return_colums; 
} 
+0

問題を多く解決しました... – user1114720

0

whiskeyrows.close();onCreate()からonDestroy()に移動します。この詳細についてはこちらlink

+0

これは問題を解決しません。 – user1114720

+0

whiskeyrowsをグローバルvarialeとして配置する必要があります。
'public String [] DataArryWhiskey;
DBConfig whiskeyrows;
@Override
ボイドのonCreate(バンドルsavedInstanceState){
// TODO自動生成方法スタブ
super.onCreate(savedInstanceState)を保護。
setContentView(R.layout.main);

//ウイスキーのスタートデシベルビュー
whiskeyrows =新しいDBCONFIG(この); '
リストビューにデータを渡す必要がある場合は、なぜあなたは代わりにSimpleCursorAdapterを使用しませんでしたか? –

+0

私は本当にadroidプログラミングのnoobです、私は単純なカーソルを使用したいと思いますが、私はこれを自分の状況に変換する方法を知らない。私はあなたの余分なコメントを処理するコードを取得することはできません。 – user1114720

関連する問題