android view flipper,为每张图干杯

android view flipper, make toast for every images

我如何为将在视图脚蹼中查看的每张图片做 toast?我的意思是我希望每次单击下一步按钮时,都会出现祝酒词并告诉它的第一张图片。 ,第二张图片,第三张图片等等.. 这是 mah 代码: main.java

            public class main extends Activity implements  View.OnClickListener
            {
               ViewFlipper viewFlipper;
                Button next;
                Button previous;
                @Override
                public void onCreate(Bundle savedInstanceState)
                {

                  super.onCreate(savedInstanceState);
                  setContentView(R.layout.main);
                 viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper);
                next = (Button) findViewById(R.id.next);
                previous = (Button) findViewById(R.id.previous);
                next.setOnClickListener(this);
                previous.setOnClickListener(this);



                }

                @Override
                public void onClick(View v) {

                    if (v == next)
                    viewFlipper.showNext();

                    else if (v == previous) {
                    viewFlipper.showPrevious();
                    }
                }


            }

main.xml

                            <?xml version="1.0" encoding="utf-8"?>
                        <RelativeLayout
                            xmlns:android="http://schemas.android.com/apk/res/android"
                            xmlns:tools="http://schemas.android.com/tools"
                            android:layout_width="match_parent"
                            android:layout_height="match_parent"
                            tools:context="z.a.q.main"
                        android:layout_centerInParent="true"
                        android:background="@android:color/black" >
                        <ViewFlipper
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:id="@+id/viewFlipper"
                            android:layout_centerInParent="true">
                        <ImageView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:scaleType="fitXY"
                            android:id="@+id/imageView"
                            android:src="@drawable/share"/>
                        <ImageView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:scaleType="fitXY"
                            android:id="@+id/imageView2"
                            android:src="@drawable/rating"/>
                        <ImageView
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:scaleType="fitXY"
                            android:id="@+id/imageView3"
                            android:src="@drawable/rate"/>


                        </ViewFlipper>
                        <Button
                            android:id="@+id/next"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Next"
                            android:layout_alignParentBottom="true"
                            android:layout_alignParentRight="true"
                            android:layout_alignParentEnd="true"/>
                        <Button
                            android:id="@+id/previous"
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Prev"
                            android:layout_alignParentLeft="true"
                            android:layout_alignParentStart="true"
                            android:layout_alignParentBottom="true"
                            android:layout_alignTop="@+id/next"/>
                        </RelativeLayout>

请问。求助..

  1. 使用视图 ID 来识别它。

  2. 使用 toast 并在文本中使用

viewFlipper.indexOfChild(viewFlipper.getCurrentView())

它将return当前显示视图的索引。

@Override
                public void onClick(View v) {
                int viewId = v.getId();

                    if (viewId == R.id.next){
                    viewFlipper.showNext();
               
                  Toast.makeText(getApplicationContext(),
                "IMAGE - "+viewFlipper.indexOfChild(viewFlipper.getCurrentView())
                ,Toast.LENGTH_LONG).show();
                    }

                    else if (v == R.id.previous) {
                    viewFlipper.showPrevious();
                
                  Toast.makeText(getApplicationContext(),
                "IMAGE - "+viewFlipper.indexOfChild(viewFlipper.getCurrentView())
                ,Toast.LENGTH_LONG).show();
                    }
                }

最简单的方法是向 activity 添加一个 counter 成员变量,只需在翻转图像时不断增加计数器即可。 显示 Toast 的代码是,

Toast.makeText(getApplicationContext(),YOUR_MESSAGE,duration).show();

或者只需将您的 activity 代码替换为以下代码

   public class main extends Activity implements  View.OnClickListener
    {
       ViewFlipper viewFlipper;
        Button next;
        Button previous;
        int counter = 1; 
        @Override
        public void onCreate(Bundle savedInstanceState)
        {

          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
         viewFlipper = (ViewFlipper)findViewById(R.id.viewFlipper);
        next = (Button) findViewById(R.id.next);
        previous = (Button) findViewById(R.id.previous);
        next.setOnClickListener(this);
        previous.setOnClickListener(this);



        }

        @Override
        public void onClick(View v) {

            if (v == next)
            {
            viewFlipper.showNext();
            counter++;
            Toast.makeText(getApplicationContext()," Picture "+counter,Toast.LENGTH_SHORT).show();
            }

            else if (v == previous)
            {
            viewFlipper.showPrevious();
             counter--;
             Toast.makeText(getApplicationContext()," Picture "+counter,Toast.LENGTH_SHORT).show();
            }
        }


    }