2012-01-25 17 views
0

私はこのようなことをしたいと思います.... splash.PNGを背景とする相対レイアウトがあります.5つのImageView:@drawable \ 1.png、@drawable \ 2があります。 png、@drawable \ 3.png、@drawable \ 4.png、@drawable \ 5.png ...android imageView

クリックすると1件の表示がされます。 2-5 - 不可視でclickable = "false"

クリックするとImageview 2が表示されますがクリック不可能になり、次にすべてがクリックされると2-5が表示され、最後の5回目をクリックすると2-5が再び表示されなくなります。私として...

、このような構造は、1つの見えないImageViewので動作します:5 imageViewsとの良好な方法でそれを行う方法任意のアイデアが必要

final ImageView iv36 = (ImageView) findViewById(R.id.yabl3skr); 
    iv36.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v33) { 
      // TODO Auto-generated method stub 

      final ImageView iv37 = (ImageView)findViewById(R.id.yab3); 
      iv37.setVisibility(1); 
      iv37.setClickable(true); 
      iv37.setOnClickListener(new OnClickListener() { 

       @Override 
       public void onClick(View v33) { 
        // TODO Auto-generated method stub 
      iv37.setVisibility(View.GONE); 
      iv37.setClickable(false); 
       } 
      }); 
     } 
    }); 

答えて

2

完全に入手できたかどうかは分かりませんが、クリックしたときに条件付きロジックを実行する5つのImageViewがあると言います。その場合、私が通常行うことは、すべての画像に対して単一のOnClickListenerを実装することです。すべての画像に初期状態を設定してから、ビューのIDを切り替えて表示し、表示するビューを有効にして表示することができます。

final ImageView iv33 = (ImageView) findViewById(R.id.iv33); 
    final ImageView iv34 = (ImageView) findViewById(R.id.iv34); 
    final ImageView iv35 = (ImageView) findViewById(R.id.iv35); 
    final ImageView iv36 = (ImageView) findViewById(R.id.iv36); 
    final ImageView iv37 = (ImageView) findViewById(R.id.iv37); 

    OnClickListener imageClickListener = new OnClickListener() { 

     public void onClick(View v) { 

      // Initial state 
      iv33.setClickable(false); 
      iv34.setClickable(false); 
      iv35.setClickable(false); 
      iv36.setClickable(false); 
      iv37.setClickable(false); 

      iv33.setVisibility(View.GONE); 
      iv34.setVisibility(View.GONE); 
      iv35.setVisibility(View.GONE); 
      iv36.setVisibility(View.GONE); 
      iv37.setVisibility(View.GONE); 

      switch(v.getId()) 
      { 
      case R.id.iv33: 
       // show and hide what you would like... 
       break; 
      case R.id.iv34: 
       // show and hide what you would like... 
       break; 
      case R.id.iv35: 
       // show and hide what you would like... 
       break; 
      case R.id.iv36: 
       // show and hide what you would like... 
       break; 
      case R.id.iv37: 
       // show and hide what you would like... 
       break; 
      } 
     } 
    }; 

    iv33.setOnClickListener(imageClickListener); 
    iv34.setOnClickListener(imageClickListener); 
    iv35.setOnClickListener(imageClickListener); 
    iv36.setOnClickListener(imageClickListener); 
    iv37.setOnClickListener(imageClickListener); 
+0

おかげで、私はあなたの建設を変更して、それが正常に動作します... nolyもの - 初期状態は私のプロジェクトでは、XMLで設定されており、この変更にそれが動作する.... – timonvlad

+0

アンドロイド:クリッカブル=」 false " \t \t \t \t android:visibility =" gone " – timonvlad