2011-06-23 65 views
0

在這裏,我寫了一些代碼,並且我想從onClick()調用其他類的方法並獲取NPE在「新的開始()。 「行..Android,如何刪除「NullPointerException」在onClick方法

 final TextView feeds=(TextView)findViewById(R.id.more_feeds); 
    feeds.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
      Log.e("MoreChoices","onclick---------"); 
      final int feedsId= feeds.getId(); 
      Log.e("MoreChoices","onclick----After initialization of id--------"); 
      new Start().moreApplication(feedsId); 
      Log.e("MoreChoices","onclick----------------After calling--------"); 
     } 
    }); 

Start.java是我的其他活動課,我有一個在Start.java,我想打電話從其他類方法使用此代碼..

請告訴我爲什麼我得到NPE 「new Start()。moreApplication(feedsId);」 線...提前

謝謝請指導我....

+0

顯示此確切logcat的異常堆棧跟蹤查看ID。 – mah

+0

你想要開啓新的活動嗎?你可以顯示Start.java的列表嗎? –

+2

請勿通過調用其構造函數來創建活動。改爲使用[startActivity方法](http://developer.android.com/reference/android/content/Context.html#startActivity(android.content.Intent))。 – THelper

回答

0

替換該行

最終的TextView飼料=(TextView的)findViewById(R.id.more_feeds);

通過

最終的TextView饋送=(TextView的)this.findViewById(R.id.more_feeds);

我希望你有解決方案。

+0

不,我做了更改,但之後,異常即將到來.. –

+0

發送給我這種異常的日誌 – DynamicMind

2

請花一些時間閱讀anddev book,這是一個很好的開始android開發的地方。

閱讀第50頁,你會明白,你沒有做正確的事情來創建活動並將數據從一個傳遞到另一個。

你應該

  • startActivity通過使用意圖或類此活動從活動使用意圖的額外參數的新
  • 通數據。

問候, 斯特凡

0

我覺得你需要獲得其中U單擊了增強的代碼看起來像

final TextView feeds=(TextView)findViewById(R.id.more_feeds); 
feeds.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View arg0) { 
     Log.e("MoreChoices","onclick---------"); 
     final int feedsId= arg0.getId(); 
     Log.e("MoreChoices","onclick----After initialization of id--------"); 
     new Start().moreApplication(feedsId); 
     Log.e("MoreChoices","onclick----------------After calling--------"); 
    } 
}); 
+0

對不起,我需要正確運行的TextView ID,但是當我創建Start.java類的對象並調用使用參考Start.java類的Strat.java類的方法.. –