2016-12-31 53 views
0

我如何为每个图像做烤面包,以便在视图鳍状肢中查看?我的意思是我希望每次点击下一个按钮时,都会出现吐司并告诉它的第一张图片。 ,第二个PIC,PIC 3,等等.. 这里的麻将代码: main.javaandroid视图鳍状肢,为每个图像做烤面包

  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> 

请。帮助..

+0

**如果(V == NEXT)更换您的活动代码; **什么呢??这个代码不会编译,*** else是*标记“else”上的语法错误,删除这个标记*** – nobalG

+0

是的先生我已经修改它.. –

回答

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

  2. 使用敬酒,并在文本中使用

viewFlipper.indexOfChild(viewFlipper.getCurrentView())

它会返回当前的INDEX显示视图。做

@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(); 
 
        } 
 
       }

+0

tnx很多:)先生。它的工作 –

0

简单的方法是一个counter成员变量添加到您的活动,不断递增的计数器时,图像翻转。 代码显示Toast是,

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

或者干脆用下面的一段代码

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(); 
      } 
     } 


    } 
+0

TNX很多:)先生。它的工作 –

相关问题