два текстовых представления в списке с помощью arrayadapter и arraylist

я отображаю список с двумя текстовыми представлениями. Первое текстовое представление используется для отображения названия местоположения, а второе - для отображения адреса. я извлекаю значения из базы данных и добавляю эти значения в список массивов. я использовал пользовательский класс arrayadapter с именем myadapter, раздувший два текстовых представления, но когда я установил идентификатор textviewresource одного из текстовых представлений, я получаю оба значения в одном текстовом представлении. я хочу их в отдельных textviews. вот мой код в активности отображения, в котором я добавляю значения в массив

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 - это идентификатор второго текстового представления. вот мой код в классе 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>

Пожалуйста, помогите мне, я хочу, чтобы имя отображалось в первом текстовом представлении, а адрес - во втором. Пожалуйста, помогите мне. спасибо и привет


person hussain    schedule 07.09.2011    source источник
comment
Можете ли вы получить желаемый макет строки, просмотрев его в графическом макете в eclipse, используя статический текст?   -  person blessenm    schedule 07.09.2011
comment
я получаю макет в графическом макете. Пожалуйста, скажите мне, как добавить элементы массива в отдельные текстовые представления. я получаю оба значения в одном текстовом представлении   -  person hussain    schedule 07.09.2011


Ответы (1)


изменить свой макет

    android:id="@+id/text2"

    android:layout_alignParentRight="true"

во втором текстовом представлении. вы выровняли оба текстовых поля слева. измените выравнивание второго текстового представления, как указано выше. но все же вы столкнетесь с перекрытием, если один из текстов огромен.

person Yashwanth Kumar    schedule 07.09.2011