0

Androidでパスカル三角形のような一連の数字を作成しようとしています。Androidで実行する必要があります。textViews を動的に作成し、行と列の値を割り当てます。ここに私のコードを投稿しています。

    btnShow.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) 
        {
            LinearLayout linearLayout=new LinearLayout(getApplicationContext());
            Log.d("outside","for");

            List<TextView> Rows = new ArrayList<TextView>(row);
            List<TextView> OuterColumns= new ArrayList<TextView>(col);
            List<TextView> InnerColumns = new ArrayList<TextView>(col);

            int nor=Integer.parseInt(IEdit.getText().toString());

            for(row=1;row<=nor;row++)
            {
                Log.d("before","text");
                /*LayoutParams lp = new LayoutParams(
                           LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);*/


                text_rows = new TextView(getApplicationContext());
                text_rows.setText(String.valueOf(row));
                Log.d("Inside","rows");
                Log.i("EditText","Number"+nor);

                for(col=1;col<row-1;col++)
                Log.d("Inside","col");
                text_cols=new TextView(getApplicationContext());
                text_cols.setText(String.valueOf(col));


                for(col=row-1;col>=row;col--)
                text_cols2=new TextView(getApplicationContext());
                text_cols2.setText(String.valueOf(col));


                linearLayout.addView(text_rows);
                linearLayout.addView(text_cols);
                linearLayout.addView(text_cols2);

                Rows.add(text_rows);
                OuterColumns.add(text_cols);
                InnerColumns.add(text_cols2);


            }

内部行ステートメントを出力した後、NULL ポインター例外を与えることによって、プログラムがクラッシュしています。textView の配列を作成し、 for ループ内で個別に作成して追加するなど、さまざまな方法で試しました。しかし、すべてのコンテキストで、nullPointerException を取得しています。Androidの初心者なので、なぜそうなっているのかわかりませんか?私を助けてください..事前に感謝します

私もlogcatを投稿しています:

10-15 12:57:18.199: W/dalvikvm(1209): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
10-15 12:57:18.219: E/AndroidRuntime(1209): FATAL EXCEPTION: main
10-15 12:57:18.219: E/AndroidRuntime(1209): java.lang.NullPointerException
10-15 12:57:18.219: E/AndroidRuntime(1209):     at com.example.pyramid_of_numbers.MainActivity$1.onClick(MainActivity.java:66)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.view.View.performClick(View.java:2408)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.view.View$PerformClick.run(View.java:8816)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.os.Handler.handleCallback(Handler.java:587)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.os.Looper.loop(Looper.java:123)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at android.app.ActivityThread.main(ActivityThread.java:4627)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at java.lang.reflect.Method.invokeNative(Native Method)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at java.lang.reflect.Method.invoke(Method.java:521)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
10-15 12:57:18.219: E/AndroidRuntime(1209):     at dalvik.system.NativeStart.main(Native Method)
4

1 に答える 1

0

LayoutParams のコメントを外して使用する必要があると思います。

于 2013-12-12T14:28:28.847 に答える