在我的 UpdateFragment 中,我有一個按鈕。當我單擊此按鈕時,它會被禁用并從服務調用方法。如何將按鈕從我的服務方法改回啟用?/* THIS IS updateFRAGMENT */btnUpdateApp.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { FileUtil.logInformation(this.getClass().getName(), getResources().getText(R.string.manual_update_start).toString()); //disable button btnUpdateApp.setEnabled(false); ServiceUtils s = new ServiceUtils(); s.getUpdateInfos(); } });/* THIS IS MY SERVICE METHOD */public void getUpdateInfos(){ try { // ... some steps here ... //I want to return my button enabled here } catch (Exception ex){ ex.printStackTrace(); }}
2 回答

幕布斯6054654
TA貢獻1876條經驗 獲得超7個贊
調用時getUpdateInfos
傳遞對按鈕的引用,如下所示:
s.getUpdateInfos(btnUpdateApp);
使getUpdateInfos
方法接受新參數:
public void getUpdateInfos(YourButtonType btnUpdateApp) {
完成操作后,使用參考將按鈕更改回啟用狀態:
btnUpdateApp.setEnabled(true);

一只名叫tom的貓
TA貢獻1906條經驗 獲得超3個贊
您需要創建一個偵聽器并將其傳遞給服務。像這樣的事情將使這項工作:
public interface ServiceListener(){
void onServiceFinished();
}
使您的片段實現偵聽器并在 onServiceFinished 方法中重新啟用您的按鈕。在您的服務中,只需在需要時調用偵聽器的方法。
添加回答
舉報
0/150
提交
取消