gpt4 book ai didi

android - 带有 arrayadapter 和 arraylist 的 ListView 中的两个 TextView

转载 作者:行者123 更新时间:2023-11-30 04:33:10 26 4
gpt4 key购买 nike

我正在显示一个带有两个 TextView 的 ListView 。第一个 TextView 用于显示位置名称,第二个用于显示地址。我希望从数据库中检索值并将这些值添加到数组列表中。我使用了一个名为 myadapter 的自定义 arrayadapter 类,在那里膨胀了两个 TextView ,但是当我设置其中一个 TextView 的 textviewresourse id 时,我在一个 TextView 中得到了两个值。我希望它们在单独的 TextView 中。这是我在显示 Activity 中的代码,其中我在数组列表中添加值

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 中,地址出现在第二个 TextView 中。请帮助我。感谢和问候

最佳答案

改变布局

    android:id="@+id/text2"

android:layout_alignParentRight="true"

在您的第二个 TextView 中。您已将两个 TextView 左对齐。如上所述更改第二个 TextView 的对齐方式。但如果其中一个文本很大,您仍然会遇到重叠。

关于android - 带有 arrayadapter 和 arraylist 的 ListView 中的两个 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7331109/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com