私は、テーブルからすべての情報をdatabasehelperクラス内で読み取るCursorを作成し、各要素を対応するフィールドに割り当てるカスタムリストビューを割り当てました。しかし、Cursorは最後の要素だけを印刷しますが、3回の反復のみで収縮します。カーソルはすべてのデータベーステーブルを反復しません
public Cursor getPrograss(){
SQLiteDatabase db = this.getReadableDatabase();
StatsitcsHelper object = new StatsitcsHelper();
Cursor cursor = db.rawQuery ("select * from " + TABLE_PROGGRES, null);
cursor.moveToFirst();
if (cursor!= null && cursor.getCount() > 0 && !cursor.isAfterLast()){
cursor.moveToNext();
}
return cursor;
} そして、ここでそれを呼び出す断片の機能である:ここで
データベースヘルパークラスがある。ここ
public void ShowStatstics() {
DatabaseHelper db = new DatabaseHelper (getActivity());
Cursor cursor = db.getPrograss();
String DataA = cursor.getString(cursor.getColumnIndex(COL_P_Date));
String WeightA = cursor.getString(cursor.getColumnIndex(COL_P_Weight));
String PercentA = cursor.getString(cursor.getColumnIndex(COL_P_Percentage));
String[] Prograss = {DataA,WeightA,PercentA};
ListAdapter listAdapter = new StatisticsAdapter (getActivity(),Prograss);
lest.setAdapter (listAdapter);
}
はアダプタです:
class StatisticsAdapter extends ArrayAdapter<String>{
public StatisticsAdapter(@NonNull Context context, String[] resource) {
super (context, R.layout.listview_layout ,resource);
}
@NonNull
@Override
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
LayoutInflater ListInflate = LayoutInflater.from(getContext());
StatsitcsHelper statsitcsHelper = new StatsitcsHelper();
View customView = ListInflate.inflate (R.layout.listview_layout,parent,false);
String first = getItem (0);
TextView date = (TextView) customView.findViewById (R.id.List_Date);
String Second = getItem (1);
TextView Weight = (TextView) customView.findViewById (R.id.List_Weight);
String Thierd = getItem (2);
TextView Percent = (TextView) customView.findViewById (R.id.List_Percentage);
date.setText (first);
Weight.setText (Second);
Percent.setText (Thierd);
return customView;
}
}
行や列のリストを取得したいですか? –
私は3つの変数 "日付"、 "重量"、 "パーセンテージ"各行を持っています。私はそれらを私が作ったカスタムlistViewの中に入れたい。 3つの列があります。 –