为什么程序化布局不可见?

时间:2011-07-25 20:19:26

标签: android android-layout textview android-linearlayout

我添加到LinearLayout的TextView不可见......为什么?

layoutVenues = (LinearLayout) findViewById(R.id.layoutv);
layoutVenues.addView(genTextView(v.getName()));
layoutVenues.addView(genLineView());

和genTextView方法:

public TextView genTextView(String text) {
        TextView tv = new TextView(this);
        tv.setText(text);
        tv.setTextColor(Color.BLACK);
        return tv;
    }

4 个答案:

答案 0 :(得分:2)

您需要设置布局参数,否则您将无法使用正确的布局

public TextView genTextView(String text) {
     TextView tv = new TextView(this);
     LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutPararms.WRAP_CONTENT);
     tv.setLayoutParams(lp);
     tv.setText(text);
     tv.setTextColor(Color.BLACK);
     return tv;
    }

答案 1 :(得分:0)

尝试为视图添加可见性。 .setVisibility(View.VISIBLE);

或将它放在你的xml中并在代码中实例化也是个好主意。

答案 2 :(得分:0)

我使用XML布局文件构建Android的大部分视图层次结构,因此我不是以编程方式组装视图层次结构的专家。但是,有一件事突然出现在你看来,你似乎没有在genTextView()返回的TextView上设置任何布局参数。另外,请查看XML文件中LinearLayout的布局参数,并确保它实际上已获得指定的屏幕空间。

答案 3 :(得分:0)

默认背景是黑色我相信?所以你在黑色背景上有黑色文字。它可能并不那么容易:P可能想要发布定义了linearlayout的xml。