2013-11-21 2 views
0

У меня есть ViewPager для прокрутки между двумя макетами. Макет My Activity - это та, которая содержит viewPager, и у меня есть два дополнительных xml те, которые описывают макет экранов, которые нужно прокрутить. Мой вопрос в том, как я могу реализовать слушателей кнопок этих двух макетов в моей деятельности, той, которая содержит viewPager. Я также выложу код я написал до сих пор:Реализация слушателей для просмотров из разных макетов

главное:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="@drawable/fonto1" > 

<ImageView 
    android:id="@+id/imageView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:src="@drawable/grammi" /> 


<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="60dp" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="60dp" 
     android:layout_marginEnd="17dp" 
     android:orientation="horizontal" > 

     <ImageView 
      android:id="@+id/aristerovelos2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/aristerovelos3" 
      android:layout_marginTop="21dp" /> 

     <android.support.v4.view.ViewPager 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/pager" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_gravity="center" > 

     </android.support.v4.view.ViewPager>  

    </LinearLayout> 

    <ImageView 
     android:id="@+id/deksivelos1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true" 
     android:layout_centerVertical="true" 
     android:src="@drawable/deksivelos3" /> 

</RelativeLayout> 

первый макет быть прокатывается в ViewPager

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="60dp" 
android:gravity="center_horizontal" > 

<ImageView 
    android:id="@+id/galika" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="5dp" 
    android:src="@drawable/gallika" /> 

     <ImageView 
      android:id="@+id/germanika" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:src="@drawable/germanika" /> 

     <ImageView 
      android:id="@+id/ellinika" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:layout_marginRight="5dp" 
      android:src="@drawable/ellinika" /> 

     <ImageView 
      android:id="@+id/agglika" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="5dp" 
      android:src="@drawable/agglika" /> 

Второй - это что-то вроде этого, не нужно будет публиковать его.

Вот как я пытался настроить своих слушателей, но это не сработает.

final LayoutInflater factory = getLayoutInflater(); 
    final View panel = factory.inflate(R.layout.first_panel, null); 
    iv = (ImageView) panel.findViewById(R.id.el); 

, а затем я поставил его слушателя, тривиальный, хотя он не будет работать должным образом

+0

содержит ли ViewPager фрагменты или макеты? – znat

+0

У меня есть макеты, я должен загрузить код тоже? – Libathos

+0

Так в чем же проблема с настройкой слушателей? Конечно, вам нужно будет каждый раз проверять значение nullity, но кроме того, что он должен быть таким же, как любой другой макет. – znat

ответ

0

Ok Я очень сожалею, я действительно был рассеян я вновь надувается другую раскладку, а не один что было на ViewPager, поэтому я получаю на кнопку событий я отправлю свой способ сделать его работу, только в случае, если

  @Override 
     public Object instantiateItem(ViewGroup container, int position) { 
      LayoutInflater inflater = (LayoutInflater) container.getContext() 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      int resId = 0; 
      switch (position) { 
      case 0: 
       resId = R.layout.first_panel; 
       break; 
      case 1: 
       resId = R.layout.second_panel; 
       break; 
      } 
      View view = inflater.inflate(resId, null); 
      ((ViewPager) container).addView(view, 0); 

      if(resId==R.layout.first_panel) 
       ibellinika = (ImageView) view.findViewById(R.id.ellinika); 


      ibellinika.setOnClickListener(new OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        progressBar = new ProgressDialog(v.getContext()); 
        progressBar.setCancelable(false); 
        progressBar.setMessage("Transfering Data ..."); 


       } 
      }); 

      return view; 




     } 
Смежные вопросы