2012-02-29 23 views
0

まず、私はこれについて非常に新しく、自分自身を教えています。ちょうど私にいくつかの用語、トピック、または勉強する科目を教えてください。そして、私は本を打ち、それを理解します。Androidの代わりに画像を画面に表示するには

私は、ユーザーがボタンを押すか画像を選択することで画面に表示されるものを設定するアプリケーションを作成しています。私がこれを行う方法を知っている唯一の方法は、onClickListenerに変数を設定し、switchステートメントを使用して、選択した変数に対応するimageViewを表示させることです。

例:

//on click listeners set variable userPic1 and userPic2 

    switch(userPic1){ 
    case 1: 
     pic11.setVisibility(View.VISIBLE); 
     pic12.setVisibility(View.GONE); 
     pic13.setVisibility(View.GONE); 
     pic14.setVisibility(View.GONE); 
     break; 
    case 2: 
     pic11.setVisibility(View.GONE); 
     pic12.setVisibility(View.VISIBLE); 
     pic13.setVisibility(View.GONE); 
     pic14.setVisibility(View.GONE); 
     break; 
    case 3: 
     pic11.setVisibility(View.GONE); 
     pic12.setVisibility(View.GONE); 
     pic13.setVisibility(View.VISIBLE); 
     pic14.setVisibility(View.GONE); 
     break; 
    case 4: 
     pic11.setVisibility(View.GONE); 
     pic12.setVisibility(View.GONE); 
     pic13.setVisibility(View.GONE); 
     pic14.setVisibility(View.VISIBLE); 
     break; 
    } 


    switch(userPic2){ 
    case 1: 
     pic21.setVisibility(View.VISIBLE); 
     pic22.setVisibility(View.GONE); 
     pic23.setVisibility(View.GONE); 
     pic24.setVisibility(View.GONE); 
     break; 
    case 2: 
     pic21.setVisibility(View.GONE); 
     pic22.setVisibility(View.VISIBLE); 
     pic23.setVisibility(View.GONE); 
     pic24.setVisibility(View.GONE); 
     break; 
    case 3: 
     pic21.setVisibility(View.GONE); 
     pic22.setVisibility(View.GONE); 
     pic23.setVisibility(View.VISIBLE); 
     pic24.setVisibility(View.GONE); 
     break; 
    case 4: 
     pic21.setVisibility(View.GONE); 
     pic22.setVisibility(View.GONE); 
     pic23.setVisibility(View.GONE); 
     pic24.setVisibility(View.VISIBLE); 
     break; 
    }  
} 

私はこれらimageViewsのすべて互いの上に積み重ねられ、その取得している私はこれをコーディングするより良い方法は、おそらくそこにあるように感じるが、大きな問題は、私のXMLレイアウトであります彼らはちょうど混乱のために彼らがどのように見えるか見ることは難しい。

すべてのヘルプは

+0

おかげで、私はviewFlipperをテストし、配列を使用して、両方のは、私の元のコードその後、私のアプリかなり良く出て働くと考えられてきました。 – vanamp

答えて

0

多くのビューを切り替えようとすると、ViewFlipperを参考にすると役立ちます。しかし、実際に画像を変更するだけで、たくさんのビューを作成するのではなく、レイアウトを変更する必要がない場合は、画像をImageViewに設定するだけです(picXXはImageViewsと仮定しています)。あなたは1つまたは2つのIDにIDを格納してそこから取得することができます。その後、

int[] userPics1 = new int[] {R.drawable.pic1, R.drawable.pic2, ... } 

と::ような何かの助けを

ImageView pic = (ImageView)findViewById(R.id.pic); 
pic.setImageResource(userPics1[userPic1]); 
関連する問題