2013-11-21 166 views
0

我有一個ViewPager供用戶在兩個佈局之間滑動。我的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

那麼你的問題設置監聽器是什麼?當然,你必須每次都檢查是否爲空,但除此之外它應該和其他任何佈局相同 – znat

回答

0

好吧,我真的很抱歉,我真的很心不在焉我重新充氣另一個佈局,而不是一個那是在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; 




     }