【问题标题】:Dynamically Creating Multiple TextViews in LinearLayout在 LinearLayout 中动态创建多个 TextView
【发布时间】:2015-01-16 17:05:07
【问题描述】:

我想在LinearLayout 内创建多个TextViews。以下代码成功构建,但在root.addView(t[i]); 行给出NullPointerException

public class MainActivity extends ActionBarActivity {
    TextView t[];
    LinearLayout root;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        root=(LinearLayout)findViewById(R.id.master);
        t=new TextView[10];
       LinearLayout.LayoutParams dim=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        for(int i=0;i<10;i++)
        {
            t[i]=new TextView(this);
            t[i].setLayoutParams(dim);
            t[i].setText("YOHOHO: "+i);
            root.addView(t[i]);
        }
        setContentView(root);
    }

这真的没有目的我只是想学习一些东西!

【问题讨论】:

    标签: android android-layout android-linearlayout


    【解决方案1】:

    它给了 NPE,因为你没有正确设置你的活动布局。

    这样做

     protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.whereLinearLayoutMasterIs); // Add your layout here
        root=(LinearLayout)findViewById(R.id.master);
        t=new TextView[10];
       LinearLayout.LayoutParams dim=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
        for(int i=0;i<10;i++)
        {
            t[i]=new TextView(this);
            t[i].setLayoutParams(dim);
            t[i].setText("YOHOHO: "+i);
            root.addView(t[i]);
        }
    }
    

    注意R.layout.whereLinearLayoutMasterIs 是指示性的,请使用R.id.master 所在的布局

    【讨论】:

      【解决方案2】:

      问题在于root 为空 - 这是因为您尚未通过setContentView 设置活动的内容视图。 你需要做这样的事情:

      super.onCreate(...); setContentView(R.layout.yourLayoutName); root=(LinearLayout)findViewById(R.id.master);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-03
        • 2011-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多