使用onLongClick和setText时出现类文件错误

时间:2011-06-11 16:04:18

标签: android settext onlongclicklistener

我创建了这个小程序来尝试学习按钮和文本视图。当试图使用onLongClick来设置文本时,我会关闭一个力。当我查看调试器时,我在第45行看到了一个nullpointerexception holdMeAnswer.setText(“Nope!”);.

我在nullpointer下面看到一大堆“类文件错误:源未找到”错误。我已经尝试将附加的源指向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;
            }
        });
    }
}

1 个答案:

答案 0 :(得分:1)

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

您可以尝试在Preferences>下的Eclipse中启用更多警告。 Java>编译器>错误/警告。我认为可能会对未初始化的私人成员发出警告(除此之外,这些成员应该是私有的)。