2011-08-04 56 views
1

這裏的另一項活動是代碼片段,調用一個方法從另一個活動

class1.java

public class1 extends ListActivity { 


    public class1(){} 

    public testMethod() 
    { 
     Toast.makeText(getApplicationContext(),"Inside Method",Toast.LENGTH_SHORT).show(); 
    } 

} 

class2.java

public class2 extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

      class1 c = new class1(); 
      c.testMethod(); 

    } 

} 

我想從所謂的 「TestMethod的」 class2,目前它給出以下錯誤,

08-04 22:59:27.428: ERROR/AndroidRuntime(1224): FATAL EXCEPTION: main 
08-04 22:59:27.428: ERROR/AndroidRuntime(1224): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.assistant/com.assistant.AssistantActivity}: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.assistant/com.assistant.addNew}: java.lang.NullPointerException 

謝謝。

我有兩個突片,

TAB1延伸活性(class2.java)=>包含形式在DB

添加條目

TAB2延伸ListActivity(class1.java)=>包含所添加的條目列表

我想通過Tab1添加任何條目來刷新Tab2,並且我在class2.java中添加了方法來使用更新的數據庫條目填充列表。

現在,我想在添加條目後從class1.java調用該方法。

回答

0

得到了解決,在寫的代碼「的onResume()」第二個選項卡,所以無需調用方法。

0

考慮使該方法成爲一種靜態方法。 儘管我不確定是否允許您實例化這樣的活動,但是您是否還記得將它們都添加到Android清單中?

也許getApplicationContext()正在返回null

+0

是的,我已經嘗試過使用靜態方法,但在方法中我必須使用一些實例屬性,所以不能對這種情況使用靜態方法。否則,這是很好的解決方案。謝謝。 – Gaurang

0

testMethod需要一個返回類型(例如空):

public void testMethod(){ 
    //your code 
} 
+0

是的,我添加了無效返回類型,但仍然發生相同的錯誤。 – Gaurang

相關問題