2016-08-11 1 views
-1

나는 활동이 있으며이 활동에서 Listview, ImageButton, Edittext 및 Spinner를 사용합니다. 하지만 내 문제는 내가 내 코드, 그 쇼 오류 ..안드로이드 응용 프로그램에서 일식 자바를 사용하면 오류가 발생합니다.

08-11 06:38:38.433: D/dalvikvm(1012): GC_FOR_ALLOC freed 133K, 7% free 2745K/2940K, paused 172ms, total 206ms 
08-11 06:38:38.713: E/TCP Client(1012): C: Connecting... 
08-11 06:38:38.723: D/AndroidRuntime(1012): Shutting down VM 
08-11 06:38:38.723: W/dalvikvm(1012): threadid=1: thread exiting with uncaught exception (group=0x414c4700) 
08-11 06:38:38.973: E/AndroidRuntime(1012): FATAL EXCEPTION: main 
08-11 06:38:38.973: E/AndroidRuntime(1012): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android_examples.com.tabhost/com.android_examples.com.tabhost.MainActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android_examples.com.tabhost/com.android_examples.com.tabhost.TabActivity_1}: java.lang.NullPointerException 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.access$600(ActivityThread.java:141) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.os.Looper.loop(Looper.java:137) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.main(ActivityThread.java:5103) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at java.lang.reflect.Method.invoke(Method.java:525) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at dalvik.system.NativeStart.main(Native Method) 
08-11 06:38:38.973: E/AndroidRuntime(1012): Caused by: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android_examples.com.tabhost/com.android_examples.com.tabhost.TabActivity_1}: java.lang.NullPointerException 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.startActivityNow(ActivityThread.java:2054) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:749) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.widget.TabHost.setCurrentTab(TabHost.java:413) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.widget.TabHost.addTab(TabHost.java:240) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at com.android_examples.com.tabhost.MainActivity.onCreate(MainActivity.java:44) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.Activity.performCreate(Activity.java:5133) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  ... 11 more 
08-11 06:38:38.973: E/AndroidRuntime(1012): Caused by: java.lang.NullPointerException 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at com.android_examples.com.tabhost.TabActivity_1.onCreate(TabActivity_1.java:50) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.Activity.performCreate(Activity.java:5133) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
08-11 06:38:38.973: E/AndroidRuntime(1012):  ... 21 more 
08-11 06:38:46.273: I/Process(1012): Sending signal. PID: 1012 SIG: 9 

내 활동 코드입니다 ..

public class TabActivity_1 extends Activity { 
private ListView mList; 
private ArrayList<String> arrayList; 
private MyCustomAdapter mAdapter; 
private TCPClient mTcpClient; 
Spinner sp1; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_tab_activity_1); 

    sp1=(Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<CharSequence> ar=ArrayAdapter.createFromResource(this,R.array.Type1,android.R.layout.simple_list_item_1); 
    ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); 
    sp1.setAdapter(ar); 

    arrayList = new ArrayList<String>(); 

    final EditText editText = (EditText) findViewById(R.id.editText1); 
     ImageButton startt = (ImageButton)findViewById(R.id.imageButton1); 

     //relate the listView from java to the one created in xml 
     mList = (ListView)findViewById(R.id.listView1); 
     mAdapter = new MyCustomAdapter(this, arrayList); 
     mList.setAdapter(mAdapter); 

     // connect to the server 
     new connectTask().execute(""); 

     startt.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 

       String message = editText.getText().toString(); 

       //add the text in the arrayList 
       arrayList.add("c: " + message); 

       //refresh the list 
       mAdapter.notifyDataSetChanged(); 
       editText.setText(""); 
      } 
     }); 
} 

     public class connectTask extends AsyncTask<String,String,TCPClient> { 

      @Override 
      protected TCPClient doInBackground(String... message) { 

       //we create a TCPClient object and 
       mTcpClient = new TCPClient(new TCPClient.OnMessageReceived() { 
        @Override 
        //here the messageReceived method is implemented 
        public void messageReceived(String message) { 
         //this method calls the onProgressUpdate 
         publishProgress(message); 
        } 
       }); 
       mTcpClient.run(); 

       return null; 
      } 

      @Override 
      protected void onProgressUpdate(String... values) { 
       super.onProgressUpdate(values); 

       //in the arrayList we add the messaged received from server 
       arrayList.add(values[0]); 
       // notify the adapter that the data set has changed. This means that new message received 
       // from server was added to the list 
       mAdapter.notifyDataSetChanged(); 
      } 

     }    

     public void buttonClickMethod(View v){ 
       Intent i= new Intent(TabActivity_1.this,PageAjout.class); 
       startActivity(i); 
      } 
     } 

를 실행할 때마다 내가 잘못하고있는 중이 야 어디, 혼란 스러워요 것입니다. 나를 안내 해줘.

+0

정확히 어떤 줄? –

+0

오류를 이미지로 게시하지 마십시오. 또한 문제를 자세히 설명하십시오. –

+0

편집 텍스트를 제대로 초기화 했습니까? –

답변

0

빈 ArrayList를 adapter로 설정하면 코드에서 NullPointerException이 발생합니다.

onCreate()

mAdapter = new MyCustomAdapter(this, arrayList); 
mList.setAdapter(mAdapter); 

에서 코드를 제거하고 onPostExecute()AsyncTask 방법 및 어댑터 설정 ArrayList에 우선합니다. arrayList가 null이 아니어야하는지 확인하기위한 조건을 넣을 수도 있습니다.

@Override 
protected void onProgressUpdate(String... values) { 
     super.onProgressUpdate(values); 

     //in the arrayList we add the messaged received from server 
     arrayList.add(values[0]); 
} 
protected void onPostExecute (TCPClient result) { 
    mAdapter = new MyCustomAdapter(this, arrayList); 
    mList.setAdapter(mAdapter); 
} 

희망이 있습니다.

관련 문제