1
String[] textArray={"one","two","three", "four", "five", "six"};

int length=textArray.length;

TextView[] textViewArray = new TextView[length];
LinearLayout layout = (LinearLayout) findViewById(R.id.linear);

for(int i=0;i<length;i++){
   textViewArray[i] = new TextView(this);
   textViewArray[i].setText(textArray[i]);
   layout.addView(textViewArray[i]);
}

私はそのようなことをする必要があります..それは次のように表示されます

1 2 3 4 5 6

1 行に 4 つの単語だけを表示し、画面に合わせて段落のように表示したいという修正ではありません。提案をお願いします。

4

4 に答える 4

3

以下のように、文字列を textview に追加し、追加された各文字列にスペースを追加できます。テキストビューの配列は必要ありません。文字列を同じものに追加するだけです。

TextView tv= new TextView(MainActivtiy.this);
tv.setText(""); 
for(int i=0;i<textArray.length;i++)
{
    tv.append(textArray[i]);
    tv.append(" "); 
}
layout.addView(tv);

編集:

TextView tv= new TextView(MainActivtiy.this);
tv.setText(""); 
for(int i=0;i<textArray.length;i++)
{
     SpannableString ss1=  new SpannableString(textArray[i]); 
     ss1.setSpan(new MyClickableSpan(textArray[i]), 0, ss1.length(),  
     tv.append(ss1);
     tv.append(" "); 
}
layout.addView(tv);

MyClickableSpan クラス

 class MyClickableSpan extends ClickableSpan{   

String clicked;
    public MyClickableSpan(String string) {
    // TODO Auto-generated constructor stub
super();
clicked =string;    
}

public void onClick(View tv) {

   Toast.makeText(MainActivity.this,clicked ,Toast.LENGTH_SHORT).show();
    //do what is required
}

public void updateDrawState(TextPaint ds) {
   ds.setColor(Color.BLUE);//set text color 
   //ds.setStrokeWidth(15f);
   ds.setUnderlineText(true); // set to false to remove underline
}
} 
于 2013-04-19T05:45:38.400 に答える
2

次のように達成できます

String text = "";
for(int i=0;i<length;i++){
    text += text + " " + textArray[i];
}

tv = new TextView(this);
tv.setText(text);
tv.setSingleLine(false);
于 2013-04-19T05:54:38.433 に答える
0

あなたはそのようなことをすることができます

StringBuffer text = new StringBuffer();    
for(int i=0;i<length;i++){
    text.append(textArray[i]);
}

textViewArray = new TextView(this);
textViewArray.setText(text.toString().trim());
textViewArray.setSingleLine(false);
layout.addView(textViewArray);
于 2013-04-19T05:46:33.607 に答える
0

文字列オブジェクトを宣言し、それに配列値を追加し続け、文字列が完成したら値を textview に設定します。

String para = "";
for(int i=0;i<length;i++){
 para += textArray[i] + " ";
}
textViewArray[i] = new TextView(this);
textViewArray[i].setText(para);
layout.addView(textViewArray[i]);
于 2013-04-19T05:48:49.163 に答える