我们如何创建动态文本视图?

时间:2012-05-07 12:29:10

标签: android

如何在不在xml文件中的代码中创建textview。这是因为textview的数量会根据某个整数在我的应用程序中发生变化。

6 个答案:

答案 0 :(得分:4)

这是动态创建TextView的代码

LinearLayout layout = (LinearLayout ) findViewById(R.id.llayout);

for (int i = 0; i < 3; i++) {

TextView dynamicTextView = new TextView(this);
dynamicTextView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT));
        dynamicTextView.setText("NewYork");
        layout.addView(tstate);

}

答案 1 :(得分:0)

以下内容应该是您所需要的:

final int N = 10; // total number of textviews to add

final TextView[] myTextViews = new TextView[N]; // create an empty array;

for (int i = 0; i < N; i++) {
    // create a new textview
    final TextView rowTextView = new TextView(this);

    // set some properties of rowTextView or something
    rowTextView.setText("This is TextView #" + i);

    // add the textview to the linearlayout
    myLinearLayout.addView(rowTextView);

    // save a reference to the textview for later
    myTextViews[i] = rowTextView;
}

答案 2 :(得分:0)

private LinearLayout ll;
private TextView tv;


      // in oncreate()
onCreate()
{
        int WrapWidth = LinearLayout.LayoutParams.WRAP_CONTENT;
        int WrapHeight = LinearLayout.LayoutParams.WRAP_CONTENT;

        tv = new TextView(this);

        ll.addView(tv,WrapWidth,WrapHeight);


}

答案 3 :(得分:0)

也许这就是你所需要的:

LinearLayout lin = (LinearLayout) findViewById(R.id.myLinear);

  for (int i = 0; i <= 10 ; i++)
  {
      TextView myText = new TextView(this);
      myText.setText("textview# "+ i);
      lin.addView(myText);
  }

答案 4 :(得分:0)

代码在这里

final int c = 12;
final TextView[] mtext = new TextView[c]; 
for (int i = 0; i < c; i++) {
TextView rowtxt = new TextView(this);
rowtxt.setText("Hello" + i);
myLinearLayout.addView(rowtxt);
myTextViews[i] = rowtxt;
myTextViews[i].setOnClickListener(onclicklistener);//textview click

}

OnClickListeners代码在这里

OnClickListener onclicklistener = new OnClickListener() {

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v == myTextViews[0]){
        //do whatever you want....
    }
}

};

希望它对你有所帮助

答案 5 :(得分:0)

您使用TextView textView = new TextView(CurrentActivity.this);

然后添加TextView

附带的setter参数