Android onClick中的NullPointerException

时间:2011-09-27 00:46:52

标签: java android nullpointerexception

ERROR/AndroidRuntime(545):     at no.jarle.f02.myActivity.onClick(myActivity.java:38)


public void onClick( View v )
{
    tvTextView.setText(editText1.getText());   <--- line 38
}


<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".myActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

单击按钮时,TextView应显示在EditText中键入的文本用户。 相反,它显然崩溃,我似乎无法找到问题。 非常感谢任何帮助:)

3 个答案:

答案 0 :(得分:1)

使用此:

   if (editText1.getText().toString().trim() > 0)

    tvTextView.setText(editText1.getText().toString());

答案 1 :(得分:0)

我的猜测是,当你点击按钮时,你有空的editText1。因此,在设置文本之前,请确保在editText1中有一些内容。例如

if (editText1.getText().length>0)
   tvTextView.setText(editText1.getText());

答案 2 :(得分:0)

也许您的TextView和/或EditText仅在onCreate方法上实例化,并且它们在onClick方法上没有“生命”。

你的班级是这样的吗?

Class YourClass {

private EditText editText1;

private TextView tvTextView;

public void `onCreate`(Bundle arg) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main)

    editText1 = (EditText) findViewById(R.id.editText1);
    tvTextView = (TextView) findViewById(R.id.tvTextView);
}

public void onClick(View v) {
    tvTextView.setText(editText1.getText());
}

如果TextView和EditText不是属性,则无法在onClick上操作它们。

或者您可以在尝试使用setText之前使用findViewById在onClick方法上获取它们的实例。