Привет, я хочу добавить данные в свой txtview во фрагменте из моей базы данных sqllite. Пользователь вводит значение в db, которое работает, но когда я пытаюсь преобразовать его в своем фрагменте, это не сработает.
Функция DB для получения данных:
public ArrayList<Double> getLastSquatEntry(){
ArrayList<Double> data = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.query(TABLE_SQUAT, new String[]{COL2},null, null, null, null, null);
Double add = null;
while(cursor.moveToNext()){
if(cursor.moveToLast()){
add=cursor.getDouble(0);
data.add(add);
}
}
cursor.close();
return data;
}
Я заставил ее работать внутри моей WorkoutActivity, но при этом не используются фрагменты. Вот как я конвертирую ее внутри нее в методе onCreate
//getting last entry from squat
ArrayList<Double> dataSquat = mDatabaseHelper.getLastSquatEntry();
double []arrSquat = new double [dataSquat.size()];
for(int j=0; j<dataSquat.size();j++) {
double convertSquat = dataSquat.get(j);
arrSquat[j] = convertSquat;
}
//converting to double from Double
for(double d : arrSquat){
Log.d(TAG, ""+d);
textViewSquat.setText("Sets left: "+Integer.toString(setsLeftSquat)+" Reps : "+Integer.toString(repsLeft) + " "+d*0.8+"KG ");
}
В моем DemoAdapter onCreateView я попытался реализовать то же, что и выше, но пока не работал, у меня есть только это, которое возвращает пустой массив в текстовом представлении
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
DatabaseHelper db = new DatabaseHelper(getActivity());
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_demo, container, false);
txtView = view.findViewById(R.id.txt_display);
txtView.setText(db.getLastSquatEntry().toString());
return view;
}