私はこれに何日も取り組んできました。私がやりたいことは、ユーザーがボタンをクリックしたときに、SQL lite データベースに対して 1 つの値を返すクエリを実行し (たまたま整数ですが、文字列は問題ありません)、それをテキスト ボックスに入れることです。(また、ユーザーが入力値を変更してボタンをクリックすると、異なる結果が得られます。
たくさんの例を見てきましたが、それらはすべて最後にリストビューを使用して一連の行を表示します。string だと思っていたデータベース アダプタから結果を取得する方法はありますか。以下の mydbadapter のコードでは、KEY_FEE 列から値を返したいと考えています。
public String getdata(){
String[] columns = new String[]{KEY_ROWID, KEY_SPEED, KEY_TIME, KEY_FEE };
Cursor c = myDatabase.query(DATABASE_TABLE, columns, "speed like '25' AND "
+ "time like '50'", null, null, null, null);
String result ="";
int iRow =c.getColumnIndex(KEY_ROWID);
int iSPEED =c.getColumnIndex(KEY_SPEED);
int iTIME=c.getColumnIndex(KEY_TIME);
int iFEE =c.getColumnIndex(KEY_FEE);
for (c.moveToFirst(); !c.isAfterLast();c.moveToNext()){
result = result + c.getString(iRow) + " " +c.getString(iSPEED) + " "
+c.getString(iTIME) + " " +c.getString(iFEE) + "/n";
}
return result; }
この結果は実際には文字列ですか?
もしそうなら、ボタンをクリックしたときにメインプログラムからアクセスするにはどうすればよいですか: Button.OnClickListener buttonOnClickListener = new Button.OnClickListener(){
@Override
public void onClick(View v) {
System.out.println("The calculate FEE button was clicked " );
//TODO
//getdata here from database, to a variable for lineout, sub in for "60".
//
myDbHelper.getdata();
//set the stringVal variable to the Fee
_stringVal = "Fee is:" **???how to specify the result string from dbhelper here?**;
//sets the text textview based on prior code: _value = (TextView) findViewById(R.id.textView3);
_value.setText(_stringVal);
//System.out.println("Text should say "+_stringVal);
// System.out.println("Get Data Has been called. ");
}
};