2012-01-31 3 views
0

Я хочу иметь левую и правую кнопки в своих представлениях в ViewPager. Однако на первом взгляде мне нужна только правая кнопка, а на последней - только левая кнопка. Как я могу создать кнопки программно, используя ViewPager & PagerAdapter?Создание кнопок программно в ViewPager вместо XML

Кажется, что я не могу сделать это в мгновенном элементе PagerAdapter, что отстой, потому что я могу использовать параметр «position» в коде PagerAdapter.

Это в моем OnCreate, где гх объявлена ​​глобально в деятельности:

Button btnLeftClick = new Button(this); 
btnLeftClick.setText("&lt&lt"); 
btnLeftClick.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT)); 

Button btnRightClick = new Button(this); 
btnRightClick.setText("&gt&gt"); 
btnRightClick.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, 
       RelativeLayout.LayoutParams.WRAP_CONTENT)); 
rl = (RelativeLayout) View.inflate(this, R.layout.view1, null); 

Это то, что я пытался сделать в моем PagerAdapter, но я получаю NullPointerException:

if (position == numViews) { 
       rl.addView(btnLeftClick); 
} 

Если я вместо этого добавляю представление в onCreate без оператора if, я не получаю исключение NullPointerException.

Любое обходное решение для этого?

Спасибо.

ответ

0

я понял это из этого источника: Ответ на этот вопрос прямо здесь: http://mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal-view-paging/comment-page-1/#comment-14065

Мой вопрос заключается в том, что я должен был обратиться к раскладке, что кнопка была в первой, чтобы использовать findViewById.

0

Проверьте, не имеет ли значение rl. BtnLeftClick кажется неплохим.

+0

О, я вижу, да, это было null. Вы знаете, могу ли я создавать и работать с кнопками внутри адаптера? – aimango