2014-04-11 2 views
-1

나는 안드로이드 개발을 처음 사용했습니다. 목록보기에서 주소 목록을 보여주는 앱을 만들고 있습니다. 두 가지 활동이 있습니다. DashboardGridActivity는 주 활동입니다 (이 활동은 GridView에서 아이콘을 보여줍니다). 두 번째는 DashboardGridActivity의 onItemClick 함수에서 호출되는 DisplayActivity입니다 (이 활동은 XML에서 데이터를 읽고 목록보기로 표시 함). 다음은 내 DisplayActivity.java 파일입니다Android : 치명적 예외 : 주

public class DisplayActivity extends Activity { 

ListView listView; 
private String tag_name; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_display); 

    listView = (ListView) findViewById(R.id.list); 

    Intent intent = getIntent(); 
    if(intent!= null) 
    { 
     //int imageId = intent.getIntExtra("DashboardImage",R.drawable.apartments); 
     tag_name = intent.getStringExtra("DashItemName"); 
    } 

    List<NameAddress> nameAddressList = null; 
    try { 
     XMLPullParserHandler parser = new XMLPullParserHandler(tag_name); 
     nameAddressList = parser.parse(getAssets().open("data.xml")); 
     ArrayAdapter<NameAddress> adapter = 
      new ArrayAdapter<NameAddress>(this,R.layout.list_item, nameAddressList); 
     listView.setAdapter(adapter); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.display, menu); 
    return true; 
    } 
} 

onItemClick functionn DashboardGridActivity.java에서

나는이 응용 프로그램을 실행하려고
@Override 
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
    Intent intent = new Intent(this, DisplayActivity.class); 
    ViewHolder holder= (ViewHolder) view.getTag(); 
    DashboardItems temp = (DashboardItems) holder.myItem.getTag(); 
    //intent.putExtra("DashboardImage",temp.imageID); 
    intent.putExtra("DashItemName",temp.itemName); 
    startActivity(intent); 
} 

, 그것의 GridView의 아이콘을 보여줍니다 파일,하지만 난 아이콘을 클릭하면 "불행히도 앱이 중지되었습니다"라고 표시됩니다.

04-11 13:34:20.695: I/Choreographer(1155): Skipped 183 frames! The application may be doing too much work on its main thread. 
04-11 13:34:23.085: W/InputEventReceiver(1155): Attempted to finish an input event but the input event receiver has already been disposed. 
04-11 13:34:29.995: D/AndroidRuntime(1155): Shutting down VM 
04-11 13:34:29.995: W/dalvikvm(1155): threadid=1: thread exiting with uncaught exception (group=0xb2a2dba8) 
04-11 13:34:30.075: E/AndroidRuntime(1155): FATAL EXCEPTION: main 
04-11 13:34:30.075: E/AndroidRuntime(1155): Process: com.asm.offcampusresources, PID: 1155 
04-11 13:34:30.075: E/AndroidRuntime(1155): java.lang.NullPointerException 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at com.asm.offcampusresources.DashboardGridActivity.onItemClick(DashboardGridActivity.java:55) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.widget.AdapterView.performItemClick(AdapterView.java:299) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.widget.AbsListView.performItemClick(AbsListView.java:1113) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.widget.AbsListView$PerformClick.run(AbsListView.java:2904) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.widget.AbsListView$3.run(AbsListView.java:3638) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.os.Handler.handleCallback(Handler.java:733) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.os.Handler.dispatchMessage(Handler.java:95) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.os.Looper.loop(Looper.java:136) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at android.app.ActivityThread.main(ActivityThread.java:5017) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at java.lang.reflect.Method.invoke(Method.java:515) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
04-11 13:34:30.075: E/AndroidRuntime(1155):  at dalvik.system.NativeStart.main(Native Method) 
04-11 13:34:33.635: I/Process(1155): Sending signal. PID: 1155 SIG: 9 

나에게이 문제를 해결하는 방법을 제안하십시오 : 그것은 또한 다음 로그 캣에게

로그 캣을 제공합니다.

+0

이 코드? –

+0

@Mike B intent.putExtra ("DashItemName", temp.itemName); – Akshay

답변

0

사용`onItemClick()`라인`DashboardGridActivity.java` 55 인 라인 당신의 onItemClickListener

@Override 
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
     Intent intent = new Intent(this, DisplayActivity.class); 

     DashboardItems temp = (DashboardItems) adapterView.getItemAtPosition(i); 
     //intent.putExtra("DashboardImage",temp.imageID); 
     intent.putExtra("DashItemName",temp.itemName); 
     startActivity(intent); 
    }