java如何在运行时动态添加和删除编辑文本来创建布局 3 周,6 日 Questions & Answers 1444 我正在开发一个调查应用程序,我需要知道如何创建一个布局,让用户为一个问题输入多个答案,一旦他键入第一个文本,那么下一个文本应该在第一个文本下面动态生成 另外,如何使编辑文本可移动 像这样的布局:
# 1 楼答案 只需创建一个新的编辑文本(视图),并将其添加到您的布局中的首选位置 LinearLayout linearLayout = (LinearLayout)findViewById(R.id.linearLayoutDecisions); EditText editText = new EditText(this); LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); editText.setLayoutParams(p); linearLayout.addView(editText);
# 2 楼答案 此代码将帮助您 主要活动。xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/parentLayout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/buttonView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Create Edit Text" > </Button> </LinearLayout> 主要活动。java import android.app.Activity; import android.os.Bundle; import android.text.InputFilter; import android.text.InputType; import android.util.TypedValue; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RelativeLayout; public class MainActivity extends Activity { private Button buttonView; private LinearLayout parentLayout; private int hint=0; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buttonView=(Button)findViewById(R.id.buttonView); parentLayout = (LinearLayout)findViewById(R.id.parentLayout); buttonView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub createEditTextView(); } }); } protected void createEditTextView() { RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams ( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT); params.addRule(RelativeLayout.ALIGN_PARENT_LEFT); params.setMargins(0,10,0,10); EditText edittTxt = new EditText(this); int maxLength = 5; hint++; edittTxt.setHint("editText"+hint); edittTxt.setLayoutParams(params); // edtTxt.setBackgroundColor(Color.WHITE); edittTxt.setInputType(InputType.TYPE_CLASS_TEXT); edittTxt.setTextSize(TypedValue.COMPLEX_UNIT_SP,18); edittTxt.setId(hint); InputFilter[] fArray = new InputFilter[1]; fArray[0] = new InputFilter.LengthFilter(maxLength); edittTxt.setFilters(fArray); parentLayout.addView(edittTxt); } }
# 1 楼答案
只需创建一个新的编辑文本(视图),并将其添加到您的布局中的首选位置
# 2 楼答案
此代码将帮助您
主要活动。xml
主要活动。java
# 3 楼答案
使用TableLayout和TableRow。您可以非常轻松地动态添加和删除
This可能是一个很好的起点