2013-06-23 2 views
0

오류가 있습니다. setText 문자열을 사용하려고하면 EditText에서 java.lang.NullPointerException이 발생합니다. EditText에서 Textview로 텍스트를 추출하여 데이터베이스에 삽입하려고합니다. 코드가 더 많았지 만, 문제가 무엇인지 찾아내는 것이 었습니다. 여기 는 코드입니다 :오류 : setText 문자열을 시도 할 때 EditText의 java.lang.NullPointerException이 발생합니다.

package ccv.checkhellsing.guiapaa; 

import android.app.Activity; 
import android.content.ContentValues; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.Window; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 


public class CrearUsuario extends Activity implements View.OnClickListener { 

EditText nombreUsuario; 
String user; 
Button flecha; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.crearusuario_layout); 

    EditText nombreUsuario = (EditText)findViewById(R.id.etNombreUsuario); 
    Button flecha = (Button) findViewById(R.id.btFlechaDerecha); 

    flecha.setOnClickListener(this); 
} 

@Override 
public void onClick(View view) { 
    user = nombreUsuario.getText().toString().trim(); 
} 
} 

그리고 로그 :

06-23 17:20:59.605 2483-2483/ccv.checkhellsing.guiapaa  E/AndroidRuntime: FATAL   EXCEPTION: main 
    java.lang.NullPointerException 
    at ccv.checkhellsing.guiapaa.CrearUsuario.onClick(CrearUsuario.java:42) 
    at android.view.View.performClick(View.java:2485) 
    at android.view.View$PerformClick.run(View.java:9081) 
    at android.os.Handler.handleCallback(Handler.java:587) 
    at android.os.Handler.dispatchMessage(Handler.java:92) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3683) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
    at dalvik.system.NativeStart.main(Native Method) 

내가 확실히 문제가되지 않습니다 나의 xml 파일 그리고 난을 확인합니다. 에서

+0

'CrearUsuario.java'의 42 번째 줄은 어디에 있습니까? –

답변

3

당신의 onCreate 당신이 오히려 (어떤 onClick 참조 인) 당신의 분야 nombreUsuario에 값을 할당하는 것보다, nombreUsuario라는 새 로컬 변수를 생성

EditText nombreUsuario = (EditText)findViewById(R.id.etNombreUsuario); 

않습니다. 앞에 EditText을 제거하여 onCreate이 필드의 값을 설정합니다.

(유사에 대한 Button flecha)

+1

그럼 이거? nombreUsuario = (EditarTexto) findViewById (R.id.etNombreUsuario) flecha = (Button) findViewById (R.id.btFlechaDerecha); –

+0

@ OscarMéndez 정확히 –

0

당신은 EDITTEXT 및 버튼을 두 번 정의해서는 안된다. 글로벌 만 있으면 충분합니다.

관련 문제