2012-03-20 8 views
0

Androidで色を変更する際に問題があります。 私が使用して要素を追加し、リスト持っている:私がしたいAndroidおよび色

pictureOne = (ImageView) findViewById(R.id.imageViewPicture1); 
    pictureTwo = (ImageView) findViewById(R.id.imageViewPicture2); 

:ある

pictureOne.setImageResource(colorsPictures.get(0))); 
pictureTwo.setImageResource(colorsPictures.get(1)); 

pictureOneとpictureTwo:のonCreateで

colorsPictures.add(Color.BLUE); 
colorsPictures.add(Color.YELLOW); 
colorsPictures.add(Color.BLACK); 

()私は、このようないくつかを実装します私のイメージビューは両方とも、私が活動を開始するときに青と黄色の色を変えます。私は自分のリストに追加することにバグがあると思う。私はレイアウトで色を変えることができることを知っていますが、これを行う必要があります。私を助けてください。

例: レイアウト上に2つのimageViewがあります。彼らは白い色をしています。アクティビティを実行してボタンをクリックすると、その色を変更したいと思います。 OnClickリスナーが実装されていますが、色を変更しようとするとnullpointexceptionが返されます。

+0

画像ビューの背景に画像がある場合、色を変更すると背景が表示されません。単に背景画像を表示します。詳細情報[Read This](http://konsentia.com/2011/03 /動的に変化する背景色のアンドロイドウィジェット/) – Sameer

答えて

1

setImageResource(int resId)を使用していて、メソッドの引数が色ではなく描画可能なリソースであるという問題があります。ログを見ると、リソースが見つからないという警告または例外が表示されることがあります。

代わりにこれを使用することができ:

pictureOne.setBackgroundColor(colorsPictures.get(0))); 
pictureTwo.setBackgroundColor(colorsPictures.get(1)); 
2

あなたの唯一の目標は、setImageResourceの

pictureone.setBackgroundResource(colorsPicture.get(0)); 
1

パラメータは、リソースIDで、あなただけ行ういけない理由、背景の色を変更する場合。あなたはそれに色を入れています。用途:

pictureOne.setBackgroundColor(colorsPictures.get(0))); 

それともcolors.xmlと、使用中のyoyr色定義:

pictureTwo.setImageResource(R.color.YOUR_COLOR_IDを)。

あなたは、あなたがこのようなlike..tryを行う必要があり、動的に設定されている
0

..

setTextColor(getContext().getResources().getColor(R.color.info_button_text_color)); 

これはあなたを助けることを期待。

0

setImageResourceは、設定するためにこの方法を使用している

imageView.setImageResource(R.drawable.myimage); 

以下のよう描画可能フォルダに利用可能である任意の画像を設定するために使用され直接価値のある色。実行時にカラー値がリソースIDと見なされるため、不明な結果が得られます。

関連する問題