以编程方式添加EditText框

时间:2012-12-05 12:50:03

标签: android android-edittext

我有以下文字。

我喝茶和咖啡”。现在要求将此文字更改为“我喝EditTextEditText”....此处 EditText 是一个编辑框,用户可以在其中输入一次答案点击它。我需要以语法方式进行此更改。

关于如何实现这一点的任何建议????

7 个答案:

答案 0 :(得分:1)

您可以在按钮的点击事件处理程序中使用以下代码:

String str = "I drink tea and coffee";
String editTextString = editText.getText().ToString();
str.replace("coffee", editTextString);
str.replace("tea", editTextString);

答案 1 :(得分:1)

您可以在布局xml文件中创建活动结构:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="horizontal" >

&lt;TextView
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="I drink " />

&lt;Button
            android:id="@+id/firstAnswer" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="EditText" />

&lt;TextView
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text=" and " />

&lt;Button
             android:id="@+id/secondAnswer" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="EditText" />

&lt;/LinearLayout&gt;

并将列表设置为按钮

private String[] answers = { "tea", "coffee", "juice", "compote" };
    ...
    Button firstAnswer = (Button) findViewById(R.id.firstAnswer);
    firstAnswer.setOnClickListener(new OnClickListener() {
        private int position = 0;
        @Override
        public void onClick(View view) {
            ((Button) view).setText(answers[position]);
            position++;
            if (position == answers.length)
                position = 0;
        }
    });

答案 2 :(得分:0)

使用getText()

实施例

Button   mButton;
EditText mEdit;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mButton = (Button)findViewById(R.id.button);
    mEdit   = (EditText)findViewById(R.id.edittext);

    mButton.setOnClickListener(
        new View.OnClickListener()
        {
            public void onClick(View view)
            {
                Log.v("EditText", mEdit.getText().toString());
            }
        });
}

之后

 mEdit.setText("Tea");

答案 3 :(得分:0)

只需使用此:yourTextField.setText("..."+yourEditText.getText().toString());

答案 4 :(得分:0)

 EditText et=(EditText)findViewByID(R.id.yourId);
 Button bt=(Button)findViewById(R.id.yourBtId);
 bt.setOnClickListener(
              new View.setOnClickListener()
              {
               public void onClick(View v)
               {
                  et.setText("You Drink EditText");
                }
               });

将这些代码放在onCreate()方法

答案 5 :(得分:0)

使用ViewSwitcher。此小组件显示其中包含的两个视图之一:

    <ViewSwitcher
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>

    </ViewSwitcher>

然后,按下按钮后,将其切换并将文本从EditText加载到TextView,反之亦然:

editText.setText(textView.getText());
viewswitcher.showNext();

textView.setText(editText.getText());
viewswitcher.showPrevious();    

有关详细信息,请参阅this

答案 6 :(得分:0)

您可以使用4个文本框分别包含“我喝”,“茶”,“和”,“咖啡”的文本。 在第2和第4个文本框的ontouch事件上,您可以显示文本框或编辑文本并编辑文本。单击按钮,您可以从文本框中获取文本并再次显示。