2016-07-06 42 views
0

我有按鍵的自定義欄(排序欄)。點擊此功能稱爲:如何節省資源ID在Click事件的Android

public void setFoodItemSortType(View view) 
{ 
     View oldView = view.findViewById(this.currentSortTitleID); 
     if(oldView != null) 
     { 
      oldView.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); 
     } 

     this.currentSortTitleID = view.getId(); 
     View newView = view.findViewById(this.currentSortTitleID); 
     newView.setBackgroundColor(getResources().getColor(R.color.colorAccent)); 

     this.LoadData(); 
    } 

oldView始終爲空。點擊週期中ID是否改變?我做錯了什麼?

功能通過onclick屬性調用:

android:onClick="setFoodItemSortType" 
+0

請張貼出從正在調用此方法的代碼。 –

+0

這個函數是從onclick屬性調用的 – cinatic

+0

這個'this'實際上是'view'的子視圖嗎?如果沒有,你會一直得到空。 – NoChinDeluxe

回答

1

只要改變這樣說:

View oldView; 
public void setFoodItemSortType(View view) 
{ 

    if(oldView != null) 
    { 
     oldView.setBackgroundColor(getResources().getColor(R.color.colorPrimary)); 
    } 

    view.setBackgroundColor(getResources().getColor(R.color.colorAccent)); 
    oldView = view 
    this.LoadData(); 
}