Android以编程方式添加textview

时间:2012-12-17 22:56:53

标签: android xml dynamic textview android-scrollview

所以从调试和评论出来的事情我得出结论,这个程序的问题在addTextView()方法中。我完全不知道问题出在哪里。我的猜测是在我尝试添加到TextView的布局中。 非常感谢你提前帮助。

public class Books extends Activity{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.books);
        addTextView("Hello World");
    }


    public void addTextView(String text)
    {
        ScrollView viewport = (ScrollView)findViewById(R.id.books);
        TextView textview= (TextView)new TextView(this);
        textview.setText(text);
        //textview.setLayoutParams(new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        viewport.addView(textview, new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    }

    public void addButton(String text)
    {
        ScrollView scrollview = (ScrollView)findViewById(R.id.books);
        Button btnTag = (Button)new Button(Books.this);
        btnTag.setLayoutParams(new ScrollView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        btnTag.setText(text);
        scrollview.addView(btnTag);
    }

}

1 个答案:

答案 0 :(得分:7)

ScrollViews只能有一个孩子,通常是一个LinearLayout。当您致电scrollview.addView(blah blah)时,您将向ScrollView添加更多不允许使用的子项。

有关ScrollView的文档,请参阅here

-

另外,在StackOverflow上发布有关您遇到的错误的问题时,请说明:

  • 您遇到的错误(在Android中,这将在LogCat视图中找到)
  • 您的预期结果(您尝试做的事情)
  • 相关代码(在这种情况下,你应该也包括你的布局XML文件 - 而ScrollView错误肯定是一个你会得到的错误,它可能不是第一个需要修复,以便继续前进。)

它会帮助每个人,包括将来偶然发现这个问题的人。