2012-07-15 6 views
0

다음 코드를 사용했습니다. 이 시도edittext에서 값을 가져올 수 없습니다.

07-15 17:40:20.083: E/AndroidRuntime(5503): FATAL EXCEPTION: main 
07-15 17:40:20.083: E/AndroidRuntime(5503): java.lang.NullPointerException 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at com.app.ServerClient.UserAdminChatActivity$2.onClick(UserAdminChatActivity.java:52) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.view.View.performClick(View.java:2485) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.view.View$PerformClick.run(View.java:9080) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.os.Handler.handleCallback(Handler.java:587) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.os.Looper.loop(Looper.java:123) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at android.app.ActivityThread.main(ActivityThread.java:3647) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at java.lang.reflect.Method.invoke(Method.java:507) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
07-15 17:40:20.083: E/AndroidRuntime(5503):  at dalvik.system.NativeStart.main(Native Method) 
+0

가 온 클릭에 무슨 일이()? – Egor

+0

전체 onclick() 이벤트를 붙여 넣었습니다. – Mj1992

+1

'setContentView'를 호출 한 후이 코드를 호출하고 있습니까? –

답변

2

: 또한

String data=""; 
chatbox=(EditText)findViewById(R.id.Chatbox); 
if(chatbox.getText().toString()!=null) 
    data=chatbox.getText().toString(); 

을 확인

final Button Submit= (Button) findViewById(R.id.SubmitButton); 
      Submit.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 

       chatbox=(EditText)findViewById(R.id.Chatbox); <-- error 
       String data=chatbox.getText().toString(); 
       Log.i("chama",data); 

       HashMap<String,String> hashMap=new HashMap<String,String>();  
         hashMap.put("You",chatbox.getText().toString()); //insert username(You) value in chatbox to hashmap 

         adminChat.add(hashMap);         //insert hashMap in arraylist 
         ShowListView(adminChat);       //pass it to listview 

         sendHttpRequest("set", "admin", "You" ,chatbox.getText().toString(),clientEmail,UserAdminChatActivity.LastShowingChatDate);     

     }}); 

그것은이

<EditText 
    android:id="@+id/Chatbox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@id/SubmitButton" 
    android:layout_alignBottom="@id/SubmitButton" 
    android:layout_alignParentLeft="true" 
    android:layout_toLeftOf="@id/SubmitButton" 
    android:ems="10" 
    android:inputType="text" > 
</EditText> 

로그 캣 같은 XML에 선언 된 다음과 같은 오류를 제공합니다 당신이 말하는 EditText는 s 안에 있습니다. setContentView()

+0

여전히 작동하지 않습니다 – Mj1992

+0

편집을 확인하십시오. –

+0

예 동일한 XML 파일 – Mj1992

1

를 통해 당신이 당신의 활동을지도하는 데 사용하는 화염 XML 파일 당신은 onClick 방법을이

chatbox= (EditText) findViewById(R.id.Chatbox); 

외부에서이를 수행해야한다. 이것은 나를 위해 아무 말도하지 않습니다. widgetcontentView을 설정 한 직후에 초기화해야합니다.

그래서

... 
protected EditText chatbox; 

@Override 
public void onCreate(Bundle savedOnInstanceState) { 
    super.onCreate(savedOnInstanceState); 
    setContentView(R.layout.main); 
    chatbox = (EditText) findViewById(R.id.Chatbox); 
    ... 
    chatbox.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
     String data=chatbox.getText().toString(); 
     ... 
     } 
    }); 
} 
관련 문제