Android列表视图项目对齐

Android列表视图项目对齐,android,listview,Android,Listview,我有一个列表视图,在其中动态添加项目。我希望我选择的一些项目应该与左侧对齐,而另一些项目则与右侧对齐。Android的ListView有可能做到这一点吗 //适配器 if (convertView == null) { holder = new EventViewHolder(); if (type == 1) { convertView = inflater.inflate(

我有一个列表视图,在其中动态添加项目。我希望我选择的一些项目应该与左侧对齐,而另一些项目则与右侧对齐。Android的ListView有可能做到这一点吗

//适配器

if (convertView == null) {
                holder = new EventViewHolder();
                if (type == 1) {
                    convertView = inflater.inflate(
                            R.layout.multi_line_list_item, null);
                    holder.mtvMessage = (TextView) convertView
                    .findViewById(R.id.tvMessage);
                    holder.mtvMessage.setGravity(Gravity.LEFT);
                    holder.mtvMessage.setBackgroundResource(R.drawable.chatbluebox);
                    convertView.setTag(holder);
                }else{
                    convertView = inflater.inflate(
                            R.layout.multi_line_list_item, null);
                    holder.mtvMessage = (TextView) convertView
                    .findViewById(R.id.tvMessage);
                    holder.mtvMessage.setGravity(Gravity.RIGHT);
                    holder.mtvMessage.setBackgroundResource(R.drawable.chatgreenbox);
                    convertView.setTag(holder);

            }

请让我知道是否可以这样做,并向我建议一个好的解决方案?

看看ListView模式,这些模式可以为您完成大部分工作


例如,要将单元格中的项目左右对齐,您可以在Adapters getView方法中将重力设置为左右。

查看ListView模式,这些模式可以为您完成大部分工作

例如,要将单元格中的项目左右对齐,可以在Adapters getView方法中将重力设置为左右。

使用以下命令

adapter.notifyDataSetChanged();
然后

listView.setSelection(items.size()-1);
对于重力,需要在getview方法中动态设置重力

例如:

textview1.setGravity(Gravity.RIGHT);
使用以下命令

adapter.notifyDataSetChanged();
然后

listView.setSelection(items.size()-1);
对于重力,需要在getview方法中动态设置重力

例如:

textview1.setGravity(Gravity.RIGHT);
在listView xml条目中添加以下行

对于右对齐和左对齐,维护两个布局xml—一个右对齐,另一个左对齐—不管您想要什么样的外观,然后在listAdapter的getView方法中设置一些条件,并根据需要膨胀这些xml

if (convertView == null)
    if(some condition)
        convertView = mInflater.inflate(R.layout.rightxml, null);
    else
        convertView = mInflater.inflate(R.layout.leftxml, null);
    ....
在listView xml条目中添加以下行

对于右对齐和左对齐,维护两个布局xml—一个右对齐,另一个左对齐—不管您想要什么样的外观,然后在listAdapter的getView方法中设置一些条件,并根据需要膨胀这些xml

if (convertView == null)
    if(some condition)
        convertView = mInflater.inflate(R.layout.rightxml, null);
    else
        convertView = mInflater.inflate(R.layout.leftxml, null);
    ....

好的,让我检查一下重力物质。如果没有,我会告诉你我无法设置重力。我已经编辑了我的代码,向你展示重力物质。请看一下。好的,让我检查一下重力物质。如果没有,我会告诉你我无法设置重力。我已经编辑了我的代码,向你展示重力物质。请看一看,我无法设置重力。我已经编辑了我的代码,向你展示重力物质。请看一看.holder.mtvMessage.setGravityGravity.LEFT;对吧,有谁不工作了?或者两者都没有效果?我已经解决了。已经做了另一个布局,并在其他条件下膨胀,请看一看,如果你知道。我无法设置重力。我已经编辑了我的代码,向你展示重力物质。请看一看.holder.mtvMessage.setGravityGravity.LEFT;对吧,有谁不工作了?或者两者都没有效果?我已经解决了。已经做了另一个布局,并在其他条件下膨胀,请看一看,如果你知道。