Android - 动态表行NullPointerException

时间:2012-07-31 08:00:43

标签: android user-interface nullpointerexception tablelayout tablerow

我正在创建一个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,我不知道为什么。

有意见的人吗?

1 个答案:

答案 0 :(得分:2)

tr[i]=new TableRow(this);
tr[i].addView(btn);