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);
    }

しかし今、私はそれを私が望む側に置きたいと思っています。つまり、位置はアイテムの位置と独立していなければならないということです。古いレイアウト。

それは可能ですか?どんな助けでも大歓迎です!ありがとう

4

2 に答える 2

0

どのようなデータ構造を使用していますか? それが可能だ。この情報を保持するデータ構造にフィールドを追加できます。

例:

from -> 誰のメッセージかによって、1 または 2 になります。

createView メソッドでは、適切なレイアウトを拡大または表示できます。

于 2012-04-13T04:18:40.733 に答える
0

はい、これは、メッセージが人から受信された場合に変数を維持し、その人から受信されなかった場合は同じ変数を false にするだけで実現できます。

次に、その変数をチェックして、奇数と偶数の位置ではなく、必要に応じてタスクを実行します。

于 2012-04-13T04:54:07.473 に答える