2016-08-17 34 views
0

私はTextViewを含むRecyclerViewを持っています。ホルダーコードは以下の通りです:今RecyclerViewでTextViewの背景色を設定できません

private class PhotoHolder extends RecyclerView.ViewHolder { 
     private TextView mTitleTextView; 
     public PhotoHolder(View itemView) { 
      super(itemView); 
      mTitleTextView = (TextView) itemView; 
     } 
     public void bindGalleryItem(GalleryItem item) { 
      mTitleTextView.setText(item.toString()); 
      //--------------TEST CODE---------------- 
      mTitleTextView.setBackgroundColor(2); 
      mTitleTextView.invalidate(); 
      mTitleTextView.requestLayout(); 
     } 
    } 

、期待されるが、私はまたTextViewの背景を変更したいと働くmTitleTextView.setText()ライン。だから、私はsetBackgroundColor()メソッドを呼び出してみましたが、invalidateとrequestLayoutの呼び出しでも背景色は設定されません。

背景色の設定方法を知っている人はいますか?これは、色を設定するための適切な場所ですか?なぜそれは設定されていないのですか?

また、これをプログラムで実行したいと思います。

+0

あなたが設定され、この値2が何を見つけるためにthisに似たソフトウェアを使用することができます。これは0x0000FF – Stallion

+0

のようなものでなければなりません。実際に色に '2'を使用している場合は、透明になります。正しい値を生成するには、適切な16進値( '0xAARRGGBB')または' Color'のメソッドの1つを使用してください。 –

+0

@pulp_fiction 'mTitleTextView.setBackgroundColor(Color.parseColor("#d4d446 "));'を試したことがありますか?ここであなたのhaxcodeを変更してください。 –

答えて

0

それは

mTitleTextView.setBackgroundColor(getResources().getColor(R.color.colorOne));

あるべきかcolors.xmlであなたの特定の色を定義し、あなたが

mTitleTextView.setTextColor(getResources().getColor(R.color.colorTwo)); 

の下に使用することができるテキストの色を設定する

<color name="colorOne">#E60000</color> 
<color name="colorTwo">#D3D3D3</color> 

色コードはさまざまな開発活動の標準です。 Androidフレームワークは、ビューに設定することを計画しているパラメータ値を理解する必要があります。 Reference Link for Graphics color code

あなたはカラーコード

+0

これはうまくいきました!しかし、私は設定番号がランダムに動作しなかった理由を理解していない。 –

+1

@MikeM。指摘してくれてありがとう。私は作業コードを参照していました。どのcolors.xmlが参照されている値を持っているか。私は私の答えを更新しました!私の声明をクリアにしたいと思っています:) – Stallion

0

あなたは、この削除できます:

mTitleTextView.invalidate(); 
mTitleTextView.requestLayout(); 

を、あなたはすなわち、誰もがそれの後のTextViewのプロパティをリセットされていない右の場所からこのメソッドを呼び出していることを確認します。

+0

私はこれらの方法も使わずに試しました。それはうまくいかなかった。また、私はこの後、いつでもこのテキストビューのプロパティを設定する人はいないと確信しています。 –

+0

このメソッドを呼び出すコードブロックを投稿することができます –

0

は、この使用して、カラーリソースのようなあなたの背景色を設定してそのような

//Like this you change your as your desire 
mTitleTextView.setBackgroundColor(getResources().getColor(android.R.color.black)); 
0

使用:

mTitleTextView.setTextColor(。getResources()GETCOLOR(R.color.solid_red));

関連する問題