我有一個有很多代碼的類。我想把一些方法放到另一個類中,但是從我已經有的類中加載它們。我也不想改變contentview。我試圖拆分代碼到兩個類
的Class1:
public class Class1 extends Activity {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState;
Intent intent = new Intent (this, Class2.class);
startActivity(intent);
}
}
等級2:
public class Class2 extends Class1 {
@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
method2();
}
}
public void method2 {
Log.e("Error", "Wut?")
}
當我運行的代碼,應用程序只是一遍又一遍地顯示錯誤消息。該應用程序可能反覆運行「method2」方法......我只想運行一次「method2」。我不希望在同一個文件中的代碼,因爲會有很多代碼...
您在'Class1'的'onCreate'中的代碼開始'Class2',它再次調用啓動'Class2'的'Class1'的'onCreate',等等。你創建了一個永無止境的循環。你爲什麼試圖分開這段代碼?而且,'Class2'是否需要從'Class1'擴展?如果沒有,簡單的解決方案是'Class2'擴展'Activity' –
@SvenVidak代碼長度爲3385行,我想縮短它。我想把一些代碼放在一個類中,另一些放在另一個類中。如果我嘗試擴展Activity,contentview將會改變。我想保持相同的contentview,onClickListeners一樣,但仍然從Class2加載一些方法 –
那麼,那麼你希望加載方法的其他類不是一個活動,而是普通的Java類。然後,您可以在'Class1'的'onCreate'方法中創建一個對象並調用該類的方法:http://pastebin.com/pj3zVTRg –