Я пытаюсь получить данные курсора базы данных в viewpager, но с базовыми знаниями c Я не знаю, как установить курсор в viewpager.
Вот что я сделал до сих пор
Activity. java
private List<String> testContactName = new ArrayList<String>();
private List<String> testContactNumber = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewpager);
ViewPager mViewPager = (ViewPager) findViewById(R.id.pager);
myAdapter = new MyAdapter();
mViewPager.setAdapter(myAdapter);
try {
getAllContacts();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
@Override
public boolean onSupportNavigateUp() {
onBackPressed();
return true;
}
private void getAllContacts(Cursor cursor, List<String> category,
List<String> title) throws IllegalArgumentException {
if (cursor != null && cursor.getCount() > 0) {
cursor.moveToFirst();
do {
category.add(cursor.getString(cursor
.getColumnIndexOrThrow("category")));
title.add(cursor.getString(cursor
.getColumnIndexOrThrow("title")));
} while (cursor.moveToNext());
}
}
private class MyAdapter extends PagerAdapter {
public MyAdapter() {
super();
}
@Override
public int getCount() {
return testContactName.size();
}
@Override
public boolean isViewFromObject(View collection, Object object) {
return collection == ((View) object);
}
@Override
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.list_items_layout, null);
TextView contactName = (TextView) view.findViewById(R.id.id_here);
TextView contactNumber = (TextView) view.findViewById(R.id.name_here);
try {
contactName.setText(testContactName.get(position));
contactNumber.setText(testContactNumber.get(position));
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView((View) view);
myAdapter.notifyDataSetChanged();
}
}
И вот мой курсор на DatabaseHelper. java
public Cursor getMorning(SQLiteDatabase sqLiteDatabase){
Cursor cursor;
String columns[] = {ID,TITLE,ARAB,DHIVEHI,REF,INFO,FAV,CAT,AUDIO,COUNT};
String selection = CAT + "=?";
String[] selectionArgs = {"2"};
cursor = sqLiteDatabase.query(TABLE_NAME,columns,selection,selectionArgs,null,null,null);
return cursor;
}
Я надеюсь, что все поняли мой вопрос. Теперь я использую вышеупомянутый курсор на listview, но я не вижу способа использовать это на viewpager. Я хочу, чтобы это отображалось на виджере. Но я не знаю, как подойти к этому. Любая помощь будет оценена. PS: я очень плохо знаком с Android java кодированием. Успокойся.