2011-09-07 4 views
1

Afficher une listview avec deux textviews .la première textview est utilisée pour afficher le nom de l'emplacement et la seconde pour l'affichage de l'adresse. Je récupère les valeurs de la base de données et j'ajoute ces valeurs dans un arraylist. J'ai utilisé une classe arrayadapter personnalisée nommée myadapter qui a gonflé les deux textviews, mais quand j'ai défini l'identifiant textviewresourse de l'un des textview, j'obtiens les deux valeurs dans une seule textview. Je les veux dans des textviews séparés. voici mon code dans l'activité d'affichage dans lequel je suis d'ajouter des valeurs dans un arraylistdeux textviews dans listview avec arrayadapter et 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); 

ici R.id.text2 est id de la deuxième textview. ici est mon code en classe 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> 

pls me aider je veux le nom apparaisse dans la première textview et adresse dans le second. pls m'aide. Merci et salutations

+0

Etes-vous en mesure d'obtenir la mise en page souhaitée d'une ligne en l'affichant sous forme graphique dans Eclipse à l'aide d'un texte statique? – blessenm

+0

Je reçois la mise en page dans la mise en page graphique. les pls me disent comment ajouter des articles d'arraylist dans des textviews séparés. je reçois les deux valeurs dans un seul textview – hussain

Répondre

1

changement votre mise en page

android:id="@+id/text2" 

    android:layout_alignParentRight="true" 

dans votre deuxième mode texte. vous avez aligné les deux textviews à gauche. changer l'alignement de la deuxième vue du texte comme mentionné ci-dessus. mais vous rencontrerez toujours des chevauchements si l'un des textes est énorme.

Questions connexes