2012-04-13 151 views
1

我將開發一個應用程序,如聊天信使
每次我發送文本時,它都會出現在左側,並且回覆會出現在列表視圖的右側
我已經通過使用項目的奇偶位置
的自定義佈局來做到這一點。所以當物品是奇怪的位置時,它會出現在左邊,而偶數會出現在右邊。
通過延長BaseAdapter以動態佈局將項目以編程方式添加到列表視圖

public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater = getLayoutInflater();<br> 
     View row;<br> 

     if (position % 2 == 0) {<br> 
      row = inflater.inflate(R.layout.list_row_layout_even,parent,false); 
      TextView textLabel = (TextView) row.findViewById(R.id.text); 

      textLabel.setText(arraylist.get(position)); 

     } else { 
      row = inflater.inflate(R.layout.list_row_layout_odd, parent, 
        false); 
      TextView textLabel = (TextView) row.findViewById(R.id.text); 

      textLabel.setText(arraylist.get(position)); 
     } 

     return (row); 
    } 

但現在,我希望把它放在我想讓哪個方面,我指的是位置必須獨立於該項目的位置,因爲有時,一個人就可以繼續發送消息,所以它必須出現在同一側而不是像舊佈局那樣的每一側。

有沒有可能這樣做?任何幫助將非常感激! 謝謝

回答

0

是的,可以通過簡單地維護一個變量來獲得這個消息的變量,如果沒有從該人那裏收到該消息,則將該變量設置爲假。

然後只需檢查該變量,根據需要執行您的任務,而不是奇數和偶數位置。

0

你正在使用什麼樣的數據結構?這是可能的。您可以在保存此信息的數據結構中添加一個字段。

用於離:

從 - >哪些可爲1或2取決於其消息是。

而在createView方法中,您可以膨脹或顯示正確的佈局。

相關問題