Cómo obtener acceso a mi botón en una de mis páginas de viewpager?

Soy nuevo en este android y java.

Mi viewpager ahora puede deslizar todo mi diseño de xml, pero no sé cómo tener acceso al artículo en ellos.

Intenté usar el Button mybutton = (Button) findViewById (R.layout.result) , a continuación, establecer el onClickListener en mybutton, pero luego se vio obligado a cerrar cada vez que lo ejecute.

Aquí está mi código:

 public class main extends Activity { private ViewPager myviewpager; private ViewPagerAdapter myviewpageradapter; private static int NUM_AWESOME_VIEWS = 12; Button button_1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myviewpageradapter = new ViewPagerAdapter(); myviewpager = (ViewPager) findViewById(R.id.myviewpager); myviewpager.setAdapter(myviewpageradapter); button_1 = (Button) myviewpager.findViewById(R.id.first_button); button_1.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } }); } private class ViewPagerAdapter extends PagerAdapter { @Override public int getCount() { return NUM_AWESOME_VIEWS; } @Override public Object instantiateItem(View collection, int position) { LayoutInflater layoutinflater = getLayoutInflater(); View view; view = layoutinflater.inflate(R.layout.page1, null); switch (position) { case 0 : view = layoutinflater.inflate(R.layout.page1, null); break; case 1 : view = layoutinflater.inflate(R.layout.page2, null); break; case 2 : view = layoutinflater.inflate(R.layout.page3, null); break; case 3 : view = layoutinflater.inflate(R.layout.page4, null); break; case 4 : view = layoutinflater.inflate(R.layout.page5, null); break; case 5 : view = layoutinflater.inflate(R.layout.page6, null); break; case 6 : view = layoutinflater.inflate(R.layout.page7, null); break; case 7 : view = layoutinflater.inflate(R.layout.page8, null); break; case 8 : view = layoutinflater.inflate(R.layout.page9, null); break; case 9 : view = layoutinflater.inflate(R.layout.page10, null); break; case 10 : view = layoutinflater.inflate(R.layout.page11, null); break; case 11 : view = layoutinflater.inflate(R.layout.result, null);break; } ((ViewPager) collection).addView(view,0); return view; } @Override public void destroyItem(View collection, int position, Object view) { ((ViewPager) collection).removeView((View) view); } @Override public boolean isViewFromObject(View view, Object object) { return view==((View)object); } @Override public void finishUpdate(View arg0) {} @Override public void restoreState(Parcelable arg0, ClassLoader arg1) {} @Override public Parcelable saveState() { return null; } @Override public void startUpdate(View arg0) {} } 

Puede ser simplemente el problema, que sus artículos no se encuentran probablemente así que intente esto (si su opinión no es LinearLayout lo cambia)

 LayoutInflater getView = (LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout view1 =(LineaLayout)getView.inflate(R.layout.your_view,null); 

Pero su botón puede lanzar la excepción además hay un onClickListener fijado a él. Si es sólo el botón definirlo en XML:

 android:onClick"buttonClick" 

Luego en el código

 public void buttonClick(View v){ // do something } 

Si esto no es posible porque necesita hacer referencia al botón más tarde, me quedé con el mismo problema y me gustaría saber cómo funciona.

Creo que el problema aquí es que usted está tratando de encontrar una vista (findViewById) que no se instatiated (inflados) todavía. Intente establecer el oyente de botón dentro del método instatiateItem del tipo ViewPagerAdapter.

Ejemplo:

  switch(position){ case 0 : view = layoutinflater.inflate(R.layout.page1, null); button_1 = (Button) view.findViewById(R.id.first_button); button_1.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } }); break; (...) } 
  • El fragmento secundario en el fragmento de visualizador de la vista desaparece después del intercambio
  • Establecer la altura de Viewpager dentro de Scrollview en android
  • ViewPager en Android está tomando la pantalla completa?
  • Desaparición de los botones de la barra de acción al pasar entre fragmentos
  • Cómo destruir fragmentos antiguos en FragmentStatePagerAdapter
  • ¿Cómo manejar correctamente la rotación de la pantalla con un ViewPager y fragmentos anidados?
  • Cómo hacer que el desplazamiento horizontal como google jugar en android?
  • Cómo usar Android ViewPager
  • ¿Qué está mal con este código para usar ViewPager?
  • Android ViewPager con zoom de imagen
  • Cómo comprometer Fragment transacciones en FragmentPagerAdapter en onLoadFinish método de devolución de llamada?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.