0

作成したボタンに onclicklistener を実装しようとすると、nullpointer 例外が発生し続けます。

    Button setHighBtn[] = null;
    Button setLowBtn[]=null;
    TextView tv[] = new TextView[oNumber];
    for (int i=0;i<oNumber;i++){
        tv[i] = new TextView(this);
        tv[i].setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        tv[i].setText(oName[i]);
        tv[i].setTextSize(20);
        //tv[i].setLayoutParam)
        layout.addView(tv[i]);
        if (capability[i]==0){
            LayoutInflater inflater = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);               
            inflater.inflate(R.layout.full_capabilities, layout);   
            setHighBtn[i]=(Button)findViewById(R.id.setHigh);
            setHighBtn[i]=(Button)findViewById(R.id.setLow);
            setHighBtn[i].setOnClickListener(this);                             
            setLowBtn[i].setOnClickListener(this);
        }else{
            setHighBtn[i]=null;                         
            setLowBtn[i]=null;
        }
    }
4

2 に答える 2

0

コピペミスだと思います。あなたが書いた:

setHighBtn[i]=(Button)findViewById(R.id.setHigh);
setHighBtn[i]=(Button)findViewById(R.id.setLow); //This is supposed to be setLowBtn[i]

setLowBtn次に、まだ初期化されていないリスナーを設定します。次のように編集します。

setHighBtn[i]=(Button)findViewById(R.id.setHigh);
setLowBtn[i]=(Button)findViewById(R.id.setLow);
于 2012-08-14T22:13:36.327 に答える
0

これを書いたとき、あなたは何を期待していましたか?

Button setHighBtn[] = null;
Button setLowBtn[]=null;
于 2012-08-14T22:02:42.673 に答える