2012-04-29 13 views
0

次のコードを使用しています。コードには、たとえばvalues[]{A,B,C,D,E,F}が含まれている場合、値の値が1行に表示されます。A B C D E Fにはrelative layoutが表示されます。 LayoutParams pramasを使用しない場合は、すべてtextViewsが相互に追加されます。どのように私は彼らがお互いRelativeLayoutでTextViewを動的に追加する

for (int i = 0 ; i < values.length ; i++) 
     { 
     TextView textView = new TextView(this); 
     textView.setText(values[i].toString()); 
     textView.setTextColor(Color.BLACK); 
     textView.setClickable(true); 
     textView.setId(i); 
     textView.setBackgroundDrawable(d); 
     textView.setTextSize(24); 
     LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
     LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
     params.setMargins(5, 50, 0, 0); 
     if (i>0) 
     params.addRule(RelativeLayout.RIGHT_OF, i); 
     textView.setLayoutParams(param); 
     wordsLayout.addView(textView,params); 
     } 
    } 

問題の左に追加することができますwordsLayout.addView(textView,params);何も

+0

私は申し訳ありませんが、あなたは 'RIGHT_OF'をしたくないですか? '{A、B、C、D、E、F}'を 'F E D C B A 'と表示したいですか? – JRaymond

+0

申し訳ありませんが、私はそれを右に変更しましたが、相対レイアウトのパラメータを使用すると何も表示されません。それが問題だ。問題が修正されました –

+0

実際のコードで2組のLayoutParamsを宣言していますか? paramを宣言してはならず、textViewには適用しないでください。アンドロイドがビューグループにビューを追加するときにparamがparamsを上書きしている可能性があります – JRaymond

答えて

1

U R WORKING CODE ...

LinearLayout wordsLayout = new LinearLayout(this); 
     for (int i = 0 ; i < 5 ; i++) 
     { 
      TextView textView = new TextView(this); 
      textView.setText(String.valueOf(i)); 
      textView.setTextColor(Color.RED); 
      textView.setClickable(true); 
      textView.setId(i); 
      textView.setBackgroundDrawable(d); 
      textView.setTextSize(24); 
      LayoutParams param = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
      LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); 
      params.setMargins(5, 50, 0, 0); 
      if (i>0) 
       params.addRule(RelativeLayout.RIGHT_OF, i); 
      textView.setLayoutParams(param); 
      wordsLayout.addView(textView,params); 
     } 

     setContentView(wordsLayout); 
0

を表示されません、私が使用している場合、ある私はTextviewsコンテンツをラップ独自ののViewGroup内の各のTextViewを置くことをお勧めしますサイズ。表示されているすべてのテキストビューが望むように、すべてのビューグループを隣り合わせに並べます。内部のtextview-elementsをVISIBLEとGONEにしますが、それらを表示させる必要があります。それは私の意見でそれをやっている最も簡単な方法であり、あなたのtextviewsの順序を確保します。

関連する問題