0

私はあなたの好みから読み取られた文字列に従って、動的なインターフェースを作成するアンドロイドアプリケーションを作っています:

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 に答える