나는 프로젝트를 짓는다. 하지만 문제가 있습니다. 내 프로젝트는 페이지 A, 페이지 B안드로이드 ViewPager 안에 Layoutinflator
사진에서http://s20.postimg.org/5pupjbuyl/untitled.png
페이지 A가 페이지 B는 FrameLayout이있는 LinearLayout과 FrameLayout이 (ID = 내용)입니다했다 FrameLayout이의 FrameLayout이 (ID = 레이아웃)입니다 (ID = 호출기를 가지고), FrameLayout이에 Viewpager에게 있습니다
내가 페이지 B에 FrameLayout이 (ID = 호출기)를 포함하는 페이지 (A)에 FrameLayout이 (ID = 내용) 걸릴 것
(주의 사항 : 내 코드를 최소화하려고하기 때문에 많은 선)
의 PageIndicatorActivity 된 .java
public class PageIndicatorActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
..
..
ViewGroup Content = (ViewGroup)findViewById(R.id.layout);
ViewBookAdapter pager = new ViewBookAdapter(this);
Content.addView(pager.getView());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main,menu);
return true;
}}
pager.java
public class Pager extends PagerAdapter {
Activity activity;
private static String content[] = {"file:///android_asset/html/page1.html","file:///android_asset/html/page2.html"};
public Pager(Activity act) {
activity = act;
}
public int getCount() {
return content.length;
}
public Object instantiateItem(View collection, int position) {
WebView view = new WebView(activity);
view.loadUrl(content[position]);
view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT));
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}}
및 ViewBookAdapter.java
class ViewBookAdapter {
Activity activity;
private LayoutInflater minflate;
private ViewPager myPager;
public ViewBookAdapter(Activity act){
activity = act;
myPager = (ViewPager)act.findViewById(R.id.viewPager);
Pager p = new Pager(act);
myPager.setAdapter(p); // <--- THIS PROBLEM ---
}
public View getView(){
LayoutInflater minflate = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = minflate.inflate(R.layout.pager, null);
return v;
}}
I가 myPager.setAdapter (p)에 probleam있다;
안드로이드 신고 버그
어떻게 해결하는 NullPointerException이
입니까? 는 답변 ^^PS 주셔서 감사합니다. 미안 영어.
오. 좋다 .. 고마워요 ^^ –
당신은 오신 것을 환영합니다. 도움이 되었다면 대답을 수락하십시오. – Apoorv
음 ... 처음으로 getView()에서 myPager.setAdapter를 이동할 때 : 나는 아무 문제가 없다고 생각합니다. 하지만 코드를 추가합니다. Content.addView (pager.getView()); PageIndicatorActivity .java에 있습니다. 다시 문제가 있습니다 –