从不同的布局实现视图的侦听器

时间:2013-11-21 14:56:19

标签: android android-layout

我有一个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);

然后我设置了它的听众,尽管它无法正常工作

1 个答案:

答案 0 :(得分: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;  




        }