左右对齐在一个ListView中

我正在动态设置listView 。 我将从parse.com收到每行显示的两件事。 我希望第一件事是左对齐和蓝色,第二件事是右对齐和红色。 我将有两个数组, firstArraysecondArray 。 我找到了很多方法来做到这一点,但没有动态。 我该怎么做呢,或者我可以用xml做到这一点?

更新

这是我在@ t0s发布的教程之后的xml

       

和我的java

  ListView list = (ListView) findViewById(R.id.mylist); ArrayAdapter listAdapter = new ArrayAdapter(MainActivity.this, R.layout.mylist, namesArray); list.setAdapter(listAdapter); //find my objects off parse, and call this method private String display(Object name, Object record, ArrayAdapter listAdapter) { String fightCard = (name).toString(); namesArray.add((name).toString() +" " + (record).toString()); return fightCard; } 

好吧,我的代码很乱。 检查这里的教程是[非常简单]

好的Chad在这里查看代码:

主要活动 :

 package org.example.chad; import java.util.ArrayList; import android.app.ListActivity; import android.os.Bundle; public class MainActivity extends ListActivity { private ArrayList data = new ArrayList(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //create Objects DataItem obj1 = new DataItem("name1", "record1"); DataItem obj2 = new DataItem("name2", "record2"); DataItem obj3 = new DataItem("name3", "record3"); DataItem obj4 = new DataItem("name4", "record4"); DataItem obj5 = new DataItem("name5", "record5"); //add the to ArrayList data.add(obj1); data.add(obj2); data.add(obj3); data.add(obj4); data.add(obj5); CustomAdapter adapter = new CustomAdapter(this, R.layout.row, data); setListAdapter(adapter); } 

}

main.xml

    

DataItem

 package org.example.chad; public class DataItem { private String name; private String record; public DataItem(){ } public DataItem(String n, String r ){ this.name = n; this.record = r; } public String getname() { return name; } public void setname(String name) { this.name = name; } public String getrecord() { return record; } public void setrecord(String record) { this.record = record; } 

}

CustomAdapter:

 package org.example.chad; import java.util.ArrayList; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; public class CustomAdapter extends ArrayAdapter { private ArrayList objects; public CustomAdapter(Context context, int textViewResourceId, ArrayList objects) { super(context, textViewResourceId, objects); this.objects = objects; } @Override public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = inflater.inflate(R.layout.row, null); } DataItem i = objects.get(position); if (i != null) { TextView nameView = (TextView) v.findViewById(R.id.name); TextView recordView = (TextView) v.findViewById(R.id.record); if (nameView != null){ nameView.setText(i.getname()); } if (recordView != null){ recordView.setText(i.getrecord()); } } return v; } } 

row.xml

      

几个小时后,我会添加一些评论。 结果就在这里 在此处输入图像描述

如果我没有弄错你必须扩展BaseAdapter类,以便为ListView提供自定义适配器,则无法在不创建自定义适配器的情况下将两个数组项添加到ListView。

这是一个教程。

并不像它看起来那么难。 希望能帮助到你。