0

私はアプリを開発しており、sqliteデータベース、リストビューに表示するためのカスタムアダプター、データベースにデータを入力するための入力を取得するためのアクティビティ、およびリストビューをスワイプするためのviewpagerを使用したアクティビティを作成しました。私がやりたいことは、曜日ごとに 1 つずつ、合計 7 つのページを用意し、データベース全体を対応する日に広げて表示することです。データベースのフィールドは、レッスン、日、開始時刻、終了時刻、および場所です。現在、私が持っているのは、すべてのデータを 1 つのページに表示するアプリであり、「日」フィールドに基づいて複数のページ間でデータを表示する方法がわかりません。アドバイスやチュートリアルのリンクをいただければ幸いです。ありがとう。

ここにいくつかのコードがあります:

/*main class with viewpager there is an action bar with an action item to
the input activity */

import java.util.List;
import java.util.Vector;

import android.os.Bundle;
import android.app.Activity;
import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CursorAdapter;
import android.widget.ListView;

public class ScheduleActivity extends Activity {

private Context mContext;

DBSchedule db = new DBSchedule(this);
private ScheduleAdapter scheduleAdapter;
private static final int ENTER_DATA_REQUEST_CODE = 1;
Cursor c;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        mContext = this;
        setContentView(R.layout.activity_schedule);

        ListView listview1 = new ListView(mContext);
        ListView listview2 = new ListView(mContext);
        ListView listview3 = new ListView(mContext);

        Vector<View> pages = new Vector<View>();

        pages.add(listview1);
        pages.add(listview2);
        pages.add(listview3);

        ViewPager vp = (ViewPager) findViewById(R.id.viewpager);
        PageAdapter adapter = new PageAdapter(mContext,pages);
        vp.setAdapter(adapter);


        db.open();

        scheduleAdapter = new ScheduleAdapter(ScheduleActivity.this, db.getAllEntries(),CursorAdapter.NO_SELECTION );
        listview1.setAdapter(scheduleAdapter);      

        db.close();

        listview2.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,new String[]{"A2","B2","C2","D2"}));
        listview3.setAdapter(new ArrayAdapter<String>(mContext, android.R.layout.simple_list_item_1,new String[]{"A3","B3","C3","D3"}));

    }

カスタム ページ アダプター

    import java.util.List;
    import java.util.Vector;

    import android.app.Fragment;
    import android.content.Context;
    import android.support.v4.app.FragmentPagerAdapter;
    import android.support.v4.view.PagerAdapter;
    import android.view.View;
    import android.view.ViewGroup;

    public class PageAdapter extends PagerAdapter {

 private Context mContext;
 private Vector<View> pages;

 public PageAdapter(Context context, Vector<View> pages) {
  this.mContext=context;
  this.pages=pages;
 }

 @Override
 public Object instantiateItem(ViewGroup container, int position) {
  View page = pages.get(position);
  container.addView(page);
  return page;
 }

 @Override
 public int getCount() {
  return pages.size();
 }

 @Override
 public boolean isViewFromObject(View view, Object object) {
  return view.equals(object);
 }

 @Override
 public void destroyItem(ViewGroup container, int position, Object object) {
  container.removeView((View) object);
 }

}

4

0 に答える 0