2016-12-21 6 views
0

私は現在、ユーザがラジオボタンの方法でクライアントにフィードバックを与えることができるアプリを作っています。 1-5またはPoor-Amazing。しかし、ボタンはカスタム画像「スマイリー」である必要があります。Android - OnClickListener ImageViewsからラジオボタンを作成

独自のカスタムラジオボタンを作成しようとしましたが、サイズが正確である必要があるため、これは非常に苦痛で、画像は低解像度です。代わりに、いくつかの画像ビューを作成してOnClickListenersを使用することに決めました。すべてがうまくいっています。

しかし、私はOnClickListenersを作成する方法について苦労しています。基本的には、ラジオボタンのように1つの質問につき1つの画像しかクリックできないようにしたいと考えています。彼らが画像をクリックすると、画像は別の画像に変わります。しかし、ラジオボタンのように、同時に2つの画像をクリックすることはできません。

私は以前誰かがこの質問をしていて、何も見つけられなかったかどうか確認しました。申し訳ありませんが、すでに答えられています。

うまくいけば私はそれをはっきりと説明してくれました。これは私の最初の投稿です:)

+0

ラジオボタンの代わりにボタンを使用しようとしていますか? – HsRaja

+0

いいえ、私はちょうどImageViewsを使用して、それらにonClickを添付できることを望んでいますか? –

答えて

0

あなたは、ユーザーの選択の背後に論理を置く必要があります。たとえば :

private ImageView[] ratingsImages; //[0-4] 
private int selectedRating = -1; 

private void selectRatingWithPosition(int position){ 
    //deselect all the ratings (maybe changing image background) 
    selectedRating = position; 
    //change background for selected one of ratingsImages[position] 
} 

今すぐあなたのImageViewのあらゆるOnClickListenerにあなたは多分これと似たもので、正確な位置を提供する、このメソッドを呼び出す必要があります:

for (final int i = 0; i < ratingsImages.length(); i++){ 
    ratingsImages[i].setOnClickListener(new OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      selectRatingWithPosition(i); 
     } 
    }); 
} 

これまでより多くの選択肢がありますが、これは単なる出発点に過ぎない。 Androidフレームワークが既に評価バーの基本的な実装を提供していることを忘れないでください。興味がある場合はここをクリックしてください。https://www.mkyong.com/android/android-rating-bar-example/

+0

うーん、私はあなたのやろうとしていることを理解していると思います。基本的には、ImageViewのそれぞれのメソッドを呼び出すだけでいいですか? –

+0

ええ、それは要点です^^ – MatPag

+0

ありがとうございました:3 –

関連する問題