我显示带有两个textview的列表视图。第一个textview用于显示位置的名称,第二个用于显示地址。我从数据库中检索值并在arraylist中添加这些值。我使用名为myadapter的自定义arrayadapter类在那里夸大了两个textviews但是当我设置textview中的一个textviewresourse id时,我在单个textview中得到两个值。我希望他们在sepetate textviews中。这是我在显示活动中的代码,我在其中添加了一个arraylist
中的值c.move(3);
// x1=c.getColumnIndex("_id");
// y1=c.getColumnIndex("latitude");
// z1=c.getColumnIndex("longiitude");
// w1=c.getColumnIndex("address");
x = c.getColumnName(0);
y = c.getColumnName(1);
z = c.getColumnName(2);
w = c.getColumnName(3);
n=c.getColumnName(4);
// tv_id.setText(x.toString().toUpperCase());
//tv_lat.setText(y.toString().toUpperCase());
//tv_lon.setText(z.toString().toUpperCase());
// tv_add.setText(w.toString().toUpperCase());
if(c.moveToFirst())
{
do
{
a = c.getInt(0);
b1 = c.getDouble(1);
c1 = c.getDouble(2);
e = c.getString(3);
f=c.getString(4);
results.add(e+"\n"+f);
}
while (c.moveToNext()); }
Myadapter adapter=new Myadapter(this, R.layout.row,R.id.text2, results);
lv.setBackgroundColor(Color.WHITE);
//lv.setTextFilterEnabled(true);
lv.setCacheColorHint(Color.WHITE);
lv.setAdapter(adapter);
此处R.id.text2是第二个textview的id。 这是myadapter类中的代码
public Myadapter(Context context, int resource, int textViewResourceId,
List<String> results) {
super(context, resource, textViewResourceId, results);
// TODO Auto-generated constructor stub
this.context=context;
this.results=results;
}
private List<String> results;
Context context;
private static final String LayoutInflater = null;
@Override
public View getView(final int position, View convertView, ViewGroup viewGroup) {
String name=results.get(position);
String address=results.get(position);
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.row, null);
}
TextView tv11 = (TextView) convertView.findViewById(R.id.text11);
tv11.setText(name);
TextView text2 = (TextView) convertView.findViewById(R.id.text2);
text2.setText(address);
pls help me. here is the row.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/text11"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#000000"
/>
<TextView
android:id="@+id/text2"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="10sp"
android:textColor="#000000"
/>
<Button android:text="Delete" android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:focusable="false" android:focusableInTouchMode="false"
></Button>
</LinearLayout>
请帮助我,我希望名字出现在第一个textview和第二个地址。请帮助我。谢谢和问候
答案 0 :(得分:1)
更改布局
android:id="@+id/text2"
android:layout_alignParentRight="true"
在第二个文字视图中。您已将两个文本视图对齐到左侧。如上所述更改第二个textview的对齐方式。但如果其中一个文字太大,你仍然会遇到重叠。