2015-01-11 45 views
-1

這裏是父類:在Android中,如何使用視圖引用調用父函數?

public class void ParentClass() extends Activity { 

private ListView _listView; 

@Override 
protected onCreate (Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_parent); 

    _listView = (ListView) getViewById(R.id.list_view); 

    ChildClass cc = new ChildClass(); 
} 

protected void SetScroll() { 
    try { 
     _listView.setFastScrollEnabled(false); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

這裏是子類:

private void ChildClass extends ParentClass() { 

    public ChildClass() { 
     SetScroll(); 
    } 
} 

原諒我關於語法,因爲我從記憶打字。這些類的問題是從CallParent函數調用的SetScroll函數不起作用,因爲它無法找到正確的_listView引用(它變成null)。我該怎麼做才能使它正常工作?請記住,這只是一個例子。

回答

1

但是視圖變爲空是因爲您正在擴展一個活動類,並且在使用它的視圖之前,您需要調用onCreate並設置視圖(如果子活動需要新視圖)。但爲此,您必須遵循生命週期的完整流程。這將幫助您擴展活動課程。 android how to create my own Activity and extend it?

像這樣調用父類活動(僅供參考)。隨着你的代碼它不會工作。您需要先更正您的代碼。查看我發佈的鏈接。

super.SetScroll(); 
+0

謝謝,這解釋了它。它不應該是一個活動,如果我失去了繼承,我會遇到問題,因爲我不能使它成爲靜態的(包含'startActivity()'),我不能實例化它。我想我需要找到一種方法來通知活動,然後在內部運行該方法。 – geft

相關問題