2015-01-04 144 views
1

我想從我的android項目中的外部appCompat庫中更改SwipeRefreshLayout類。但是,當我更改值或向此類添加新方法時,我無法在項目中看到這些更改。如何更改外部類?

我已經刷新並重建項目。

有誰知道我如何能夠看到我所做的更改?

+0

你是什麼意思,你正在改變'class'?您不能將代碼添加到類中。您將代碼添加到.java文件。如果你確實設法改變了'SwipeRefreshLayout'的代碼,你如何確保你的版本取代了支持V4的版本?你正在重新編譯一個新的supportV4 jar嗎? – 2015-01-04 12:34:20

+0

通過更改類,我的意思是更改android.support.v4.widget.SwipeRefreshLayout.java中的代碼。你知道我可以重新編譯它來查看更改嗎? – 2015-01-04 12:37:41

+0

此存儲庫包含[SwipeFreshLayout]的代碼(https://github.com/android/platform_frameworks_support/blob/master/v4/java/android/support/v4/widget/SwipeRefreshLayout.java)。你可以在本地克隆並構建你自己的jar。雖然這回答你的問題,我不確定這是你真正想要的。你需要以某種方式更改SwipeRefreshLayout的核心功能嗎? – 2015-01-04 12:42:02

回答

0

我不認爲你應該直接編輯支持庫。

只需創建自己的課程..?

import android.support.v4.widget.SwipeRefreshLayout; 

public class MySwipeLayout extends SwipeRefreshLayout { 

... // custom methods 

@Override 
... // SwipeRefreshLayout method to override 

} 
+0

我已經試過了。但是我需要訪問一些值,並且沒有爲這些值實現getter方法。或者我錯過了什麼? – 2015-01-04 12:39:35

+0

您可以使用超類中的所有方法。如果沒有方法返回你需要的值,你可以嘗試在你的*庫中拷貝粘貼整個類並改變它的名字,但這是一種非常殘忍的方式,我不知道什麼是不可行的。 – natario 2015-01-04 12:45:28

+0

是的,我認爲那已經不錯了,在我看來:/ – 2015-01-04 12:50:29