0

我正在制作一个 android 应用程序,它根据从您的偏好中读取的字符串创建一个动态界面:

ScrollView sv = new ScrollView(this);
    LinearLayout ll = new LinearLayout(this);
    ll.setOrientation(LinearLayout.VERTICAL);

    TableLayout tl = new TableLayout(this);
    TableRow[] tr = null;

    SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    String Favs = SP.getString("Favs", "None");
    String[] Genveje;
    if (!Favs.equals("None"))
    {
        Genveje = Favs.split(";");
        tr = new TableRow[Genveje.length];
        for (int i = 0; i < Genveje.length; i++)
        {
            String BtnName = Genveje[i].split("@")[0];
            String BtnPath = Genveje[i].split("@")[1];
            Button btn = new Button(this);

            btn.setText(BtnName);
            btn.setTag(BtnPath);
            btn.setOnClickListener(this);
            btn.setOnLongClickListener(this);


            tr[i].addView(btn);

                    .........
        }

问题是:当我尝试用 tr[i] 做任何事情时,我得到一个 NullPointerException,我不知道为什么。

有人有建议吗?

4

1 回答 1

2
tr[i]=new TableRow(this);
tr[i].addView(btn);
于 2012-07-31T08:05:31.897 回答