Android线性动态重叠问题

时间:2013-05-12 17:48:56

标签: android android-linearlayout dynamic-programming

我希望有人可以提供帮助,因为我刚刚用这一个把头发拉出来

我正在创建一个允许用户从客户那里接受订单的应用程序。

要做到这一点,我想要一个人们可以按下的按钮,为订单增加另一条线。

我认为我遇到线性布局重叠的问题。

这是我的XML

<LinearLayout
android:id="@+id/LinearLayout1" 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:orientation="vertical" >

<Button
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_gravity="right"
    android:text="Add Text View" 
    android:onClick="addTextView" />

</LinearLayout> 

这是我的班级

package com.example.dynamictext;

import android.os.Bundle;
import android.app.Activity;
import android.view.Gravity;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void addTextView(View view) {
    setContentView(R.layout.activity_main);


    // Get current Layout
    LinearLayout mainLayout = (LinearLayout) this.findViewById(R.id.LinearLayout1);

    // Set The sub layout
    LinearLayout subLayout = new LinearLayout(this);
    LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    subLayout.setLayoutParams(lparams);

    // Add contense of sub layout
    EditText tv=new EditText(this);
//      tv.setLayoutParams(params);
    tv.setText("test");
    tv.setGravity(Gravity.CENTER);

    //Display new linear layout
    subLayout.addView(tv);
    mainLayout.addView(subLayout);


    }

}

我尝试过设置重力设置,但没有任何效果。

我还确保新的线性布局包装到内容

我希望每个线性布局都显示在发票上的最后一行

任何肝脏都会欣赏

1 个答案:

答案 0 :(得分:0)

只需删除addTextView()方法中的setContentView(R.layout.activity_main)行即可。因为它总是将布局设置为屏幕。