带有Textview的Listview和2个在android中单行的Edittext

时间:2013-04-09 07:57:51

标签: android listview

我希望在一行中有一个“Textview”和2个“Edittext”。我尝试了以下代码:

XML:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"

   >


    <TextView 
        android:id="@+id/vegtext"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"        
       />

    <EditText 
        android:id="@+id/vegquantity"   
        android:hint="Qty"    
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_weight="1"
        />

     <EditText 
        android:id="@+id/vegprice"       
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:hint="price"
        android:layout_weight="1"
       />


</LinearLayout>

适配器中的Getview:

@Override
    public View getView(int position, View convertview, ViewGroup parent) 
    {
         VeglistHolder holder;
        // TODO Auto-generated method stub
        if(convertview == null)
        {
            LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertview  = inflater.inflate(R.layout.veglistrow, null); 

             holder = new VeglistHolder();

             holder.text = (TextView) convertview
                        .findViewById(R.id.vegtext);


             holder.Qtyedit = (EditText) convertview
                        .findViewById(R.id.vegquantity);

             holder.priceedit = (EditText) convertview
                        .findViewById(R.id.vegprice);


             convertview.setTag(holder);            

        }
        else
        {
            holder = (VeglistHolder) convertview.getTag();      
        }



         holder.text.setText(vegitems[position]);
        return convertview;
    }

但Edittext不在行中。还有一些空白区域正在“TExtview”下方。我搜索了很多关于此的帖子,但我无法解决这个问题。请帮我解决这个问题。谢谢你。

3 个答案:

答案 0 :(得分:1)

尝试在主布局中使用weightSum进行相同分区,如下所示

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:weightSum="3"
android:orientation="vertical" >

答案 1 :(得分:1)

使用相对布局。修改属性以满足您的要求

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
 >

<TextView
    android:id="@+id/textView1"
    android:layout_width="60dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="58dp"
    android:text="TextView" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="60dp" //set to whatever you desire
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView1"
    android:layout_alignBottom="@+id/textView1"
    android:layout_marginLeft="30dp"
    android:layout_toRightOf="@+id/textView1"
    android:ems="10" >

    <requestFocus />
</EditText>

<EditText
    android:id="@+id/editText2"
    android:layout_width="60dp"// //set to whatever you desire
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editText1"
    android:layout_alignBottom="@+id/editText1"
    android:layout_alignParentRight="true"
    android:layout_marginRight="70dp"
    android:ems="10"
    android:inputType="textPersonName" />

</RelativeLayout>

答案 2 :(得分:0)

您的问题是您将TextView的宽度和高度设置为fill parent