私はswipe fragment
でアプリケーションを開発しています。私の問題はクライアントがビューをスワイプするとその中のデータが自動的にsqliteテーブルから自動的に保存されるということです。 EditText
に値を入力した後にEditText
を入力すると、値はsqlite table
に保存され、別のビューまたは次の項目にスワイプすると保存されます。私は、XMLスワイプフラグメントのsqliteテーブルに挿入
public class PagerFragment extends Fragment {
private List<PageData> data;
private int currentPosition;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_pager, container, false);
ViewPager mViewPager = (ViewPager) v.findViewById(R.id.pager_view);
currentPosition = getArguments().getInt("CURRENT_POSITION");
data = getArguments().getParcelableArrayList("DATA_LIST");
FragmentItemPagerAdapter fragmentItemPagerAdapter = new FragmentItemPagerAdapter(getFragmentManager(), data);
mViewPager.setAdapter(fragmentItemPagerAdapter);
mViewPager.setCurrentItem(currentPosition);
return v;
}
//ListviewAdapter.java
public class ListViewAdapter extends ArrayAdapter<PageData> {
protected List<PageData> data;
protected LayoutInflater inflater;
public ListViewAdapter(Activity activity, int textViewResourceId, List<PageData> objects){
super(activity, textViewResourceId, objects);
data= objects;
}
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.item_list, parent, false);
PageData pd = data.get(position);
TextView tv2 = (TextView)row.findViewById(R.id.cat);
tv2.setText(pd.getCategory());
// TextView tv3 = (TextView)row.findViewById(R.id.desc);
// tv3.setText(pd.getCategory());
return row;
}
}
//FragmentItempagerAdapter.java
public class FragmentItemPagerAdapter extends FragmentStatePagerAdapter {
private List<PageData> data;
public FragmentItemPagerAdapter(FragmentManager fm, List<PageData> data){
super(fm);
this.data = data;
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new PageFragment();
Bundle args = new Bundle();
args.putString(PageFragment.id, data.get(position).getId());
args.putString(PageFragment.cate, data.get(position).getCategory());
args.putString(PageFragment.code, data.get(position).getCode());
args.putString(PageFragment.desk, data.get(position).getDesk());
args.putString(PageFragment.unit, data.get(position).getUnit());
args.putString(PageFragment.quan, data.get(position).getQuantity());
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return data.size();
}
public static class PageFragment extends Fragment{
public static final String id = "id";
public static final String cate = "category";
public static final String code = "code";
public static final String desk = "description";
public static final String unit = "unit";
public static final String quan = "Quantity";
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_item, container, false);
((TextView) rootView.findViewById(R.id.item_label2)).setText(
getArguments().getString(cate));
((TextView) rootView.findViewById(R.id.item_label3)).setText(
getArguments().getString(code));
((TextView) rootView.findViewById(R.id.item_label4)).setText(
getArguments().getString(desk));
((TextView) rootView.findViewById(R.id.item_label5)).setText(
getArguments().getString(unit));
((TextView) rootView.findViewById(R.id.item_label6)).setText(
getArguments().getString(quan));
((TextView) rootView.findViewById(R.id.item_label1)).setText(
getArguments().getString(id));
((EditText) rootView.findViewById(R.id.editText2)).setText(
getArguments().getString(quan));
return rootView;
}
}
}
からviewpagerを求める MEを助けてください
//PagerFragment.javaクラス
このスワイプ機能を実装するためにあなたのViewpagerを使用していますか?その場合は、この変更リスナーを参照してください。 https://developer.android.com/reference/android/support/v4/view/ViewPager.OnPageChangeListener.html –
はい私はビューページを使用してリンクをありがとうが、私にも例を与えることができますが、それでも読んでみてくださいできるだけ早くあなたにフィードバックを与えてください:) – RaRa
http://stackoverflow.com/questions/30368641/updating-the-contents-on-tab-changed-in-view-pagerこのリンクは、例を参考にしてください。このリンクに記載されているネットワーク操作ではなく、データベース操作を行います。 –