1

我想像这张图片一样将我的文本视图和微调器对齐在同一行,我的屏幕看起来像这样

另外,如何使用微调器的值更新价格文本视图?假设产品价格为 200 美元,当我在 spinner textview 上选择 2 时,更改为 400 美元。我怎么做?

    <LinearLayout
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#E5E5E5"
    android:layout_height="fill_parent">

    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:layout_width="fill_parent"
        android:entries="@array/feedbacktypelist"></Spinner>

    <EditText
        android:id="@+id/EditTextName"
        android:layout_height="wrap_content"
        android:hint="Name"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:inputType="textPersonName"
        android:layout_width="fill_parent"></EditText>

    <EditText
        android:id="@+id/EditTextEmail"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
     <EditText
        android:id="@+id/EditTextMobile"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Mobile Number"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
      <EditText
        android:id="@+id/EditCity"
        android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="City"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextFeedbackBody"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Address"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextComments"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Comments"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Total Order Price:"
        android:textSize="10pt"></TextView>



     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Rs.6,849"
        android:textSize="10pt"></TextView>





    <CheckBox
        android:id="@+id/CheckBoxResponse"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="@string/feedbackresponse"
        android:layout_width="fill_parent"></CheckBox>

    <Button
        android:id="@+id/ButtonSendFeedback"
        android:layout_height="wrap_content"
         android:padding="5dp"
        android:text="@string/feedbackbutton"
        android:onClick="sendFeedback"
        android:layout_width="fill_parent"></Button>

  </LinearLayout>
4

5 回答 5

3

这是因为您在父布局上使用方向作为垂直。并且您没有为要水平显示的视图集提供任何 parentLayout。将两个文本视图和微调器放在 LinearLayout 中,方向为水平

试试下面的数据:

<LinearLayout
    android:layout_width="fill_parent"
    android:orientation="horizontal"
    android:layout_height="fill_parent">
<TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_width="wrap_content"
        android:weight=".5"
        android:entries="@array/feedbacktypelist"></Spinner>
</LinearLayout>

在您的 setOnItemSelectedListener 中进行计算

priceTextView.setText(Integer.parseInt(Spinner.getSelectedItem().toString())*
              Integer.parseInt(productPrice));

考虑到您的 productPrice 是 String

于 2013-10-30T06:06:12.703 回答
3

像这样制作xml,这将解决您的问题

<LinearLayout
    android:layout_width="fill_parent"
    android:orientation="vertical"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:background="#E5E5E5"
    android:layout_height="fill_parent">

<LinearLayout
 android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"

>

    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt"></TextView>

    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_height="wrap_content"

           android:layout_marginRight="10dp"
        android:layout_width="40dp"
        android:entries="@array/feedbacktypelist"></Spinner>

</LinearLayout>

    <EditText
        android:id="@+id/EditTextName"
        android:layout_height="wrap_content"
        android:hint="Name"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:inputType="textPersonName"
        android:layout_width="fill_parent"></EditText>

    <EditText
        android:id="@+id/EditTextEmail"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Email"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
     <EditText
        android:id="@+id/EditTextMobile"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Mobile Number"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>
      <EditText
        android:id="@+id/EditCity"
        android:layout_height="wrap_content"
          android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="City"
        android:inputType="textEmailAddress"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextFeedbackBody"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Address"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


    <EditText
        android:id="@+id/EditTextComments"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:hint="Comments"
        android:inputType="textMultiLine"
        android:lines="5"
        android:layout_width="fill_parent"></EditText>


     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Total Order Price:"
        android:textSize="10pt"></TextView>



     <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="Rs.6,849"
        android:textSize="10pt"></TextView>





    <CheckBox
        android:id="@+id/CheckBoxResponse"
        android:layout_height="wrap_content"
         android:layout_marginLeft="10dp"
           android:layout_marginRight="10dp"
        android:text="@string/feedbackresponse"
        android:layout_width="fill_parent"></CheckBox>

    <Button
        android:id="@+id/ButtonSendFeedback"
        android:layout_height="wrap_content"
         android:padding="5dp"
        android:text="@string/feedbackbutton"
        android:onClick="sendFeedback"
        android:layout_width="fill_parent"></Button>

  </LinearLayout>
于 2013-10-30T06:27:22.323 回答
0

将微调器和文本视图置于水平线性布局中。

实现 spinner.setOnItemSelectedListener(AdapterView.OnItemSelectedListener)。并根据需要更改 TextView 文本。

 spinner.setOnItemSelectedListener(new OnItemSelectedListener()
 {

   public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3)

    {         
              String txtNo=textView.getText().toString().replaceAll("[^0-9]", "");
              textView.setText(Integer.parseInt(Spinner.getSelectedItem().toString())*
              Integer.parseInt(txtNo));
    }

  });     
于 2013-10-30T06:07:19.630 回答
0

将它们包装成水平方向的线性布局,像这样......

<LinearLayout
    android:id="@+id/dd"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <TextView
        android:id="@+id/TextViewTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:text="Qty"
        android:textSize="10pt" >
    </TextView>
    <Spinner
        android:id="@+id/SpinnerFeedbackType"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp" >
    </Spinner>
</LinearLayout>
于 2013-10-30T06:10:23.703 回答
0

在您当前的垂直布局内,使用具有水平方向的 LinearLayout 包裹 textview 和 spinner。

至于您的第二个问题,您只需将价格乘以数量字段中的数字,该数字可以从 mySpinner.getSelectedItem() 获得并根据需要进行转换。

于 2013-10-30T06:11:32.013 回答