2011-09-07 6 views
1

두 개의 텍스트 뷰가있는 listview를 표시합니다. 첫 번째 textview는 위치 이름을 표시하는 데 사용되고 두 번째 textview는 주소를 표시하는 데 사용됩니다. 나는 데이터베이스에서 값을 검색하고 그 값을 arraylist에 추가한다. myadapter라는 두 개의 textviews를 부풀린 사용자 정의 arrayadapter 클래스를 사용했지만, textview 중 하나의 id를 설정하면 textview에 두 값을 모두 가져옵니다. 나는 sepetate textviews에서 그들을 원한다. 여기 여기arrayadapter 및 arraylist가있는 listview의 두 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 번째 텍스트 뷰의 ID 인 ArrayList의 값을 가산하고있는 디스플레이 활동 내 코드이다. 여기에 내가 이름을 두 번째에서 첫 번째 텍스트 뷰와 주소를 표시 할

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는 저를 도와 myadapter 클래스 내 코드입니다. pls 날 도와 줘요. 감사와 안부

+0

정적 텍스트를 사용하여 Eclipse에서 그래픽 레이아웃으로 열을보고 원하는 레이아웃을 얻을 수 있습니까? – blessenm

+0

그래픽 레이아웃으로 레이아웃을 얻고 있습니다. pls 별도의 textviews arraylist 항목을 추가하는 방법을 말해. 단일 텍스트보기에서 두 값을 모두 가져 오는 중입니다. – hussain

답변

1

변화가 레이아웃 두 번째 텍스트보기에

android:id="@+id/text2" 

    android:layout_alignParentRight="true" 

. 두 텍스트 뷰를 왼쪽으로 정렬했습니다. 위에서 언급 한 것처럼 두 번째 textview의 정렬을 변경하십시오. 텍스트 중 하나가 거대한 경우에도 여전히 겹칠 것입니다.