2017-04-09 91 views
0

這是我在CheckActivity.java調用視圖方法

public void check5(View view) { 
    lv = (ListView) findViewById(R.id.listView1); 
    modelItems[5] = new Model("Item", 1); 
    CustomAdapter adapter = new CustomAdapter(this, modelItems); 
    lv.setAdapter(adapter); 
} 

這我怎麼稱呼方法在非活性類方法

CheckActivity mActivity = new CheckActivity(); 
mActivity.check5(); 

但這是我得到的錯誤。

enter image description here

我ALT-進入和Android工作室CheckActivity.java

enter image description here

public void check5() 
{ 
    lv = (ListView) findViewById(R.id.listView1); 
    modelItems[5] = new Model("Item", 1); 
    CustomAdapter adapter = new CustomAdapter(this, modelItems); 
    lv.setAdapter(adapter); 
} 

創造新的方法,但我的代碼不會與(View view)工作,我該如何解決呢?

編輯 - 有人告訴我,這是個不好的主意。所以,如果這是不可能的,我該如何將我的方法複製到非活動類?

+1

如果你遇到這種行爲,你從非活動類調用Activity方法,我認爲它的牀設計和實踐。在大多數情況下,活動方法只應用於服務器活動 –

+1

你不應該實例化一個活動,而是創建一個回調方法,並且你沒有在參數中使用視圖,所以你在技術上通過null –

回答

0

您需要在您的非活動課通過ContextCheckActivityActivity,然後你在Activity名趕Context調用從非ActivityActivity方法。只有像你這樣的呼籲成員函數,這樣你就可以訪問聲明爲publicCheckActvity類的變量

通視圖。

+0

但是OP想要將View作爲參數傳遞給'check5()'方法。 – Shashanth

+0

@Shashanth TechticalBecaon在非Activity類中具有視圖,或者應該像調用非Activity類的方法一樣。 –

相關問題