0

我创建了这个小程序来尝试学习按钮和文本视图。尝试使用 onLongClick 设置文本时,我强制关闭。当我查看调试器时,我在第 45 行看到了一个空指针异常 holdMeAnswer.setText("Nope!");。

我在空指针下看到一大堆“类文件错误:找不到源”错误。我尝试将附加的源代码指向 Java src.zip 和 android.jar 文件,但似乎都没有解决任何问题。

代码是:

package com.PickSomeButtons;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.RadioButton;
import android.widget.TextView;
import android.widget.Button;
import android.view.View.OnLongClickListener;

public class PickSomeButtons extends Activity {

    RadioButton myButton0;
    RadioButton myButton1;
    TextView myAnswer;
    TextView holdMeAnswer;
    Button longClickButton;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        myButton0=(RadioButton)findViewById(R.id.radio0);
        myButton1=(RadioButton)findViewById(R.id.radio1);
        myAnswer=(TextView)findViewById(R.id.textView1);
        longClickButton=(Button)findViewById(R.id.button1);

        myButton0.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                myAnswer.setText("Me!");                
            }
        });
        myButton1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                myAnswer.setText("Not me!");
            }
        });

        longClickButton.setOnLongClickListener(new Button.OnLongClickListener() {

            public boolean onLongClick(View v) {
                holdMeAnswer.setText("Nope!");
                return true;
            }
        });
    }
}
4

1 回答 1

1

在您的 onCreate 方法中,您初始化 myAnswer 但不初始化 holdMeAnswer。因此,holdMeAnswer 为空。

您可以尝试在 Eclipse 中的 Preferences > Java > Compiler > Errors/Warnings 下启用更多警告。我认为可能会对未初始化的私有成员发出警告(顺便说一句,这些成员可能应该是私有的)。

于 2011-06-11T16:10:52.097 回答