2017-03-23 14 views
0

ユーザーがボタンを押すことを許可するアクティビティを作成しようとしています。これを押すと、EditTextとスピンナが生成されます。問題は、スクロールビューがスクロールしないことです。ページはそのままです。 XML:ScrollviewがAbsoluteLayoutでスクロールしていません

<?xml version="1.0" encoding="utf-8"?> 
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/activity_order_items" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.nir.nestleapp.OrderItemsActivity"> 

    <ScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentStart="true"> 

     <AbsoluteLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <EditText 
       android:layout_width="70dp" 
       android:layout_height="40dp" 
       android:layout_y="58dp" 
       android:inputType="phone" 
       android:ems="10" 
       android:id="@+id/Quantity" 
       android:layout_alignParentTop="true" 
       android:layout_alignParentStart="true" 
       android:hint="quantity" 
       android:layout_x="11dp" /> 

      <Spinner 
       android:layout_width="174dp" 
       android:layout_height="48dp" 
       android:layout_x="148dp" 
       android:layout_y="58dp" 
       android:id="@+id/ItemSpinner" /> 
     </AbsoluteLayout> 
    </ScrollView> 

    <Button 
     android:text="add" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_x="133dp" 
     android:layout_y="431dp" 
     android:id="@+id/Generate" /> 
</AbsoluteLayout> 

のJava:

package com.example.nir.nestleapp; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AbsListView; 
import android.widget.AbsoluteLayout; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.RelativeLayout; 
import android.widget.Spinner; 

public class OrderItemsActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_order_items); 
     final AbsoluteLayout layout = (AbsoluteLayout) findViewById(R.id.activity_order_items); 
     final Spinner Items=(Spinner)findViewById(R.id.ItemSpinner); 
     final Button Generate=(Button)findViewById(R.id.Generate); 
     final EditText Quantity=(EditText)findViewById(R.id.Quantity); 
     final float[] yPlacement = {280}; 
     Generate.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Spinner GeneratedSpinner=new Spinner(OrderItemsActivity.this); 
       EditText GeneratedQuantity=new EditText(OrderItemsActivity.this); 
       layout.addView(GeneratedSpinner); 
       GeneratedSpinner.setX(Items.getX()); 
       yPlacement[0] =yPlacement[0]+200; 
       GeneratedSpinner.setY(yPlacement[0]); 
       layout.addView(GeneratedQuantity); 
       GeneratedQuantity.setX(Quantity.getX()); 
       GeneratedQuantity.setY(yPlacement[0]); 
       GeneratedQuantity.setHint("quantity"); 
       GeneratedQuantity.setWidth(300); 
      } 
     }); 
    } 
+1

なぜ 'AbsoluteLayout'ですか? –

+0

私はそれが非常に快適で、最後の日だけ私はそれを使用する間違って実現し、私のプロジェクトの全体はそれと一緒に使用されるので、私は本当にそれを変更することはできません –

答えて

0

あなたは絶対レイアウトを変更することができ、子として使うのLinearLayout

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentStart="true"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <EditText 
      android:layout_width="70dp" 
      android:layout_height="40dp" 
      android:layout_y="58dp" 
      android:inputType="phone" 
      android:ems="10" 
      android:id="@+id/Quantity" 
      android:layout_alignParentTop="true" 
      android:layout_alignParentStart="true" 
      android:hint="quantity" 
      android:layout_x="11dp" /> 

     <Spinner 
      android:layout_width="174dp" 
      android:layout_height="48dp" 
      android:layout_x="148dp" 
      android:layout_y="58dp" 
      android:id="@+id/ItemSpinner" /> 
    </LinearLayout> 
</ScrollView> 
+0

私は相対レイアウトに変更しようとしましたが、私はEditTextを開いているときにしか動作しません –

0

LinearLayoutAbsoluteLayoutを変更するには、から取り除くための最良の方法ですこの問題。

+0

相対レイアウトに変更しましたが、今はスクロールビューがEditTextを開いたときにしか機能しません。 –

+0

@NirCohenボタンの後ろにScrollViewの終了タグを追加します。 –

関連する問題