2011-09-27 68 views
1
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中键入的文本用户。 相反,它显然崩溃,我似乎无法找到问题。 任何帮助,非常感谢:)Android onClick中的NullPointerException

+3

尝试调试它 - 是'tvTextView' null或'editText1'空? –

+0

他们超出了范围..现在感觉很蠢。 thnx丹尼尔:) – jarlo

+0

我发布了这个答案。 –

回答

0

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

if (editText1.getText().length>0) 
    tvTextView.setText(editText1.getText()); 
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方法上获取它们的实例。

1

使用此:

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

    tvTextView.setText(editText1.getText().toString()); 
相关问题