2016-12-31 2 views
0

как я могу сделать тост за каждое изображение, которое будет отображаться в представлении flipper? я имею в виду, что я хочу, чтобы каждый раз щелкнул следующую кнопку, появится тост и скажет его 1-й рис. , Второй рис, третий рис и так далее .. вот ма-код: main.javaandroid view flipper, сделайте тост за каждое изображение

  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> 

пожалуйста. help ..

+0

** если (об == рядом); ** Что это ?? Этот код не будет компилироваться, *** else is * Синтаксическая ошибка на токене «else», удалить этот токен *** – nobalG

+0

да сэр я уже его модифицировал .. –

ответ

1
  1. используйте идентификатор вида, чтобы идентифицировать его.

  2. использовать тосты и в тексте использовать

viewFlipper.indexOfChild (viewFlipper.getCurrentView())

он возвращает индекс текущего отображаемого представления.

@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.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 много :) сэр. работает –