2011-09-07 1 views
1

i m отображение списка с двумя текстовыми изображениями. Первое текстовое изображение используется для отображения имени местоположения, а второе для отображения адреса. i anm извлекает значения из базы данных и добавляет эти значения в arraylist. Я использовал собственный класс arrayadapter с именем myadapter, раздул два текстовых поля, но когда я установил идентификатор textviewresourse одного из textview, я получаю оба значения в одном текстовом виде. Я хочу, чтобы они были в секрете. вот мой код в индикации активности, в которой я добавляю значение в ArrayListдва текстовых изображения в списке с arrayadapter и 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. вот мой код в 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 и адрес во второй. PLS помочь мне. спасибо и привет

+0

Вы можете получить желаемый макет строки, просмотрев его в графическом макете в eclipse, используя статический текст? – blessenm

+0

Я получаю макет в графическом макете. PLS скажите мне, как добавить элементы arraylist в отдельные текстовые поля. Я получаю оба значения в одном текстовом виде – hussain

ответ

1

изменить макет

android:id="@+id/text2" 

    android:layout_alignParentRight="true" 

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