У меня есть три занятия.
Я хочу передать данные о кликах из первого действия в третье действие.
Первый (щелчок)> Второй (щелчок)> Третий
Моя проблема: в пределах SwipeNavAdapter
String data1 = sharedPreferences.getString(ListNavAdapter.ID_EXTRA, "")
не показывает список из ListNavAdapter
, но показывает список из CourseAdapter
. Я хочу получить элемент списка по нажатию ListNavAdapter
в SwipeNavAdapter
.
FIRST: ListNavAdapter
SQLiteDatabase sqLiteDatabase = SqliteDatabase.getInstance(this.getContext()).getWritableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT CHAPTER FROM BOOK GROUP BY CHAPTER order by _id", new String[]{});
if (cursor.getCount() == 0) {
//
} else {
while (cursor.moveToNext()) {
listItem.add(cursor.getString(0));
}
arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, listItem);
listView.setAdapter(arrayAdapter);
}
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
String achal=(String)adapterView.getItemAtPosition(i);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ID_EXTRA, achal);
editor.apply();
Intent intent=new Intent(getActivity(), Course.class);
intent.putExtra(ID_EXTRA, String.valueOf(l));
startActivity(intent);
}
});
Второй: CourseAdapter
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
String data = sharedPreferences.getString(ListNavAdapter.ID_EXTRA, "") ;
SQLiteDatabase sqLiteDatabase = SqliteDatabase.getInstance(this.getContext()).getWritableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT TEXT_NO FROM BOOK WHERE CHAPTER='" + data + "' ORDER BY _id", new String[]{});
if (cursor.getCount() == 0) {
//
} else {
while (cursor.moveToNext()) {
listItem.add(cursor.getString(0));
}
arrayAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_list_item_1, listItem);
listView.setAdapter(arrayAdapter);
}
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
String achal1=(String)adapterView.getItemAtPosition(i);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ID_EXTRAA, achal1);
editor.apply();
Intent intent=new Intent(getActivity(), SwipeNav.class);
intent.putExtra(ID_EXTRAA, String.valueOf(l));
startActivity(intent);
}
});
Третье: SwipeNavAdapter
@Override
public Fragment getItem(int i) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
String data1 = sharedPreferences.getString(ListNavAdapter.ID_EXTRA, "") ;
System.out.println(data1);
ArrayList<String> listItem1 = new ArrayList<String>();
Cursor cursor1 = sqLiteDatabase.rawQuery("SELECT TEXT FROM BOOK WHERE CHAPTER='" + data1 + "'", new String[]{});
if (cursor1.getCount() == 0) {
///
} else {
while (cursor1.moveToNext()) {
listItem1.add(cursor1.getString(0));
}
}
Object[] mStringArray1 = listItem1.toArray();
Fragment fragment = new AFragment();
Bundle args = new Bundle();
assert mStringArray1 != null;
args.putString(AFragment.ARG_OBJECT1, (String)mStringArray1[i]);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
String data1 = sharedPreferences.getString(ListNavAdapter.ID_EXTRA, "") ;
SQLiteDatabase sqLiteDatabase = SqliteDatabase.getInstance(context).getWritableDatabase();
ArrayList<String> listItem = new ArrayList<>();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT TEXT FROM BOOK WHERE CHAPTER='" + data1 + "'", new String[]{});
while (cursor.moveToNext()) {
listItem.add(cursor.getString(cursor.getColumnIndex("TEXT")));
}
return listItem.size();
}