2013-01-13 8 views
0

일부 항목을 클릭 할 때마다 해당 항목에 대한 새로운 의도가 있습니다. 그러나 목록으로 다시 돌아 가려하면 다른 사람이 오류를주는 동안 일부 항목은 올바른 결과를 제공합니다.활동 완료시 예외가 발생했습니다.

오류를 발생시키는 인 텐트의 onDestroy & onStop 메소드에서 finish()를 호출 해 보았습니다. 또한 기본적으로 스택 밖으로 나가야하기 때문에 두 메서드 모두 주석 처리를 시도했습니다. 그러나 로그 캣은 ... 이건 내 코드입니다

01-12 23:04:55.050: E/AndroidRuntime(14445): java.lang.RuntimeException: Unable to stop activity {com.balance.start/com.balance.start.GFX}: java.lang.NullPointerException 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3613) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at  android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3679) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.ActivityThread.access$2900(ActivityThread.java:126) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.os.Looper.loop(Looper.java:123) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.ActivityThread.main(ActivityThread.java:4633) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at java.lang.reflect.Method.invokeNative(Native Method) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at java.lang.reflect.Method.invoke(Method.java:521) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at dalvik.system.NativeStart.main(Native Method) 
01-12 23:04:55.050: E/AndroidRuntime(14445): Caused by: java.lang.NullPointerException 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.Activity.performStop(Activity.java:3869) 
01-12 23:04:55.050: E/AndroidRuntime(14445): at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3608) 

내가 그이 필요합니다 생각하지 않기 때문에 나는 다시 버튼의 OnClickListener를 구현 적이 없다

protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 

    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.report_ledger); 
     ... 
    } 

class MyAdapter extends CursorAdapter { 
    public MyAdapter(Context context, Cursor c, boolean autoRequery) { 
     super(context, c, autoRequery); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public void bindView(View view, Context ctxt, Cursor c) { 
     // TODO Auto-generated method stub 

     TextView tv1 = (TextView) view.findViewById(R.id.tvAB1); 
     TextView tv2 = (TextView) view.findViewById(R.id.tvAB2); 
     TextView tv3 = (TextView) view.findViewById(R.id.tvAB3); 
     TextView tv4 = (TextView) view.findViewById(R.id.tvAB4); 
     TextView tv5 = (TextView) view.findViewById(R.id.tvAB5); 
     tv1.setText(c.getString(2)); 
     tv2.setText("" + c.getDouble(3)); 
     tv3.setText("" + c.getDouble(4)); 
     tv4.setText("" + (c.getDouble(4) - c.getDouble(3))); 
     tv5.setText((c.getDouble(3) > c.getDouble(4) ? "CR." : "DR.")); 
    } 

    @Override 
    public View newView(Context ctxt, Cursor c, ViewGroup parent) { 
     // TODO Auto-generated method stub 

     LayoutInflater inflater = getLayoutInflater(); 
     return inflater.inflate(
       R.layout.text_view_for_list_view_account_balance, parent, 
       false); 
    } 
} 

을 보여줍니다. 시스템은 그 자체로 활동을 끝내야한다고 생각합니다. :/

감사합니다.

+1

해당 방법에 대한 코드를 보여주십시오. –

+0

Raghav 어떤 코드를 요구하고 있습니까? 매우 긴 코드입니다. 그래서 .. 오류의 원인이 될 수있는 코드를 사용하고 있습니다. –

+0

왜 onDestroy()에서'finish()'를 호출합니까? 'onDestroy()'는 시스템이 당신의 활동을 마치면 호출된다. 'finish()'를 다시 호출 할 목적은 없으며 사실 null 포인터의 소스가 될 수 있습니다. – shanet

답변

0

finish()onDestroy()에 전화하는 것이 좋습니다. 사실 finish()finish() 활동을 원할 때 호출해야합니다. onDestroy() 메서드가 자동으로 호출됩니다. 대신이 경우 필요에 따라 onDestroy()에서 사용자의 의도 또는 다른 개체를 null로 만들 수 있습니다.

관련 문제