メイン画面からスワイプする設定メニューを作成しようとしています。Pager Adapter を使用して、ユーザーが中央の画面からスワイプできる 3 ページ ビューを作成しました。
すなわち:
POST SCREEN ------SWIPE------- HOME ------SWIPE---------- SETTINGS SCREEN
ここで、設定画面に素敵なリスト ビューを表示して、ユーザーが選択して選択できるメニューを作成できるようにしたいと考えています。私が抱えている問題は、それを実装した pageAdapter と統合することです。私が思う問題は、ページのスワイプを機能させるために、多くのビューを持つアクティビティが 1 つしかないことです (この場合は 3 つです)。しかし、listView アダプターには別のアクティビティが必要です。
この場合、私は完全に間違っているかもしれませんが、いくつかの明確化は素晴らしいでしょう.
これが私がこれまでに持っているものです: MainActivity.java
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
/** Called when the activity is first created. */
@SuppressLint("NewApi")
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// PAGE ADAPTER CONTENT
MyPagerAdapter adapter = new MyPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.threepagemainview);
myPager.setAdapter(adapter);
myPager.setCurrentItem(1);
}
/**
*
* @author Andy
*
* This method is a data adapter to determine and load the appropriate content
* for each page the user swipes to
*
* We have the main view set to case 1 -> main menu
* and left view to post, right view to settings
*
*/
private class MyPagerAdapter extends PagerAdapter {
/**
* This will get the count for the amount of pages to return
*/
public int getCount() {
return 3;
}
/**
* This method will inflate the appropriate layout resource file
* depending on the users swipe position.
*/
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId = 0;
switch (position) {
case 0:
resId = R.layout.view_post;
break;
case 1:
resId = R.layout.view_middle;
break;
case 2:
resId = R.layout.view_settings;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public void finishUpdate(View arg0) {
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}
}
また、XML ファイルについては、単純にビュー テキストを含むプレーン ファイルを用意します。これは現時点では完全に骨組みです。
どんな助けでも大歓迎です。
ありがとう
あ