public class HSPTabletTestActivity extends Activity {
private class MyPagerAdapter extends PagerAdapter {
public int getCount() {
return 2;
}
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.lighttab;
break;
case 1:
resId = R.layout.securitytab;
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) {
// TODO Auto-generated method stub
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
私は^^ ... ...かなり私はまだAndroidの開発効率向上の世界ではかなり新しいですhttp://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/から直接取得までそこにこのコードを持っている:/アンドロイドViewPager findViewByIdは働いていない - 常に返すnullの
これで、スピナーコントロールと「ページ」内のいくつかのボタンにアクセスしようとしています。しかし、findViewByIdはnullを返し続けます!
私は、レイアウトについての何かが実際にコードの中に存在しないことを覚えています。まず、instantiateItem()関数で起こっている、膨らんでいなければなりません。そして、それが「ビュー」変数に入ることはかなり明白です。しかし私が電話するとき view.findViewById(R.id.light1_off);
途中でボタンですが、いつもゼロを返しています! 私は、それがロードされている実際のページだったときにだけ呼び出すことさえしました。しかし、私が何をしても、常にnullを返すようになり、厄介なnullpointer例外が発生します。
誰かが私を助けてくれますか?私はかなりアイデアがありません.Googleには何の助けもありません。すでに10種類の検索用語について5ページ目にあります。
良い仕事前にsetContentView(R.layout.youlayout)を追加し、すべてのこの汚い仕事を避けることができます!これは本当にイライラした問題でした。 – Jackson
本当に素晴らしい仕事です!ありがとうございます – swati
私たちは実際にメインアクティビティからボタンにアクセスしますか? –