2016-08-27 39 views
1

我有一個RecyclerView適配器和「getItemViewType」方法中下面的代碼:返回不工作,getItemViewType行爲是非常奇怪的 - 我不能解釋它

if (position == 0) { 
     return Post.PostTypeHeader; 
} 
return Container.postList.get(position).type; 

「位置」值是0,並且當代碼進入if,則返回Post.PostTypeHeader。但是,馬上,它會進入下一行。如何可能?我也嘗試過'if'和'else',並且代碼在'if'和'else'中都被執行。

Here是Android的

+0

這是不可能的。只是打印日誌,v爲if和else,並檢查它打印的位置爲零。即使在調試器中,它也會轉到下一行返回僅爲Post.PostTypeHeader。 – KDeogharkar

+0

你可以發佈你的整個適配器代碼嗎? –

回答

0

視頻調試調試時是它可能是從用戶的角度來看混亂。但是,兩個return語句都不能在單個流中執行,並且這些語句不會一次執行。

您可以通過添加兩個日誌報表這樣,

if (position == 0) { 
    Log.d("Inside if statement"); 
    return Post.PostTypeHeader; 
} 
Log.d("Outside if statement")' 
return Container.postList.get(position).type; 

只有一個日誌statment將基於對position值來執行驗證方案。