2016-12-31 11 views
0

ビューフリッパーで表示されるすべての画像のトーストを作成するにはどうすればよいですか?私は毎回、次のボタンをクリックしたいと思っています。トーストが現れて、最初の写真を伝えます。 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> 

PLS:ので、上の第二PIC、第三PIC、および.. ここで麻雀コードです。

+0

**場合(V ==次)を使用して、アクティビティコードを交換です。いただきました!この**?このコードはコンパイルされません。*** else is *トークン "else"の構文エラー、このトークンを削除します。*** – nobalG

+0

はい、私はすでにそれを修正しました.. –

答えて

1
  1. これを識別するためにビューIDを使用します。

  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 a lot :)その仕事 –

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たくさん:)サー。その働き –

関連する問題