簡體   English   中英

如何在TextView中添加EditText?

[英]How to add an EditText in a TextView?

我試圖在TextView添加EditText 我的想法是建立兩個活動,其中在第一個活動中,填寫空白類型的問題將在EditText輸入,並將在按鈕點擊時發送到第二個活動,在第二個活動中我希望在第一個活動中輸入文本與EditText一起顯示在需要回答的空白處。

我的整個想法是在第一個活動中要回答的地方用下划線填寫空白問題,並通過用EditText替換下划線在第二個活動中顯示問題。

第一個活動類代碼:

public class FirstActivity extends AppCompatActivity {

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

    public void onButtonClick(View view)
    {
        if (view.getId() == R.id.button)
        {
            EditText editText = (EditText) findViewById(R.id.editText);
            String text = editText.getText().toString();

            Intent intent = new Intent(this, Main2Activity.class);
            intent.putExtra("mytext", text);
            startActivity(intent);


        }
    }

}

第一個活動布局代碼:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    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=".FirstActivity">


    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:ems="10"
        android:layout_marginTop="48dp"
        android:id="@+id/editText"
        android:hint="Enter here"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:text="Button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editText"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="100dp"
        android:id="@+id/button"
        android:onClick="onButtonClick" />
</RelativeLayout>

第二個活動類:

public class SecondActivity extends AppCompatActivity {

    TextView textView;

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

        TextView textview1 = (TextView) findViewById(R.id.textView);

        int positionX = textview1.getLeft();
        int positionY = textview1.getRight();

        EditText ed = new EditText(this);
        ed.setEnabled(false);
        RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) ed.getLayoutParams();
        params.leftMargin = positionX;
        params.topMargin = positionY;
        params.width = 30;
        ed.setLayoutParams(params);

        textview1.setText(getIntent().getStringExtra("mytext"));

    }

}

第二個活動布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main2"
    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=".SecondActivity">

<TextView
    android:text="TextView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_alignParentStart="true"
    android:layout_marginStart="33dp"
    android:layout_marginTop="47dp"
    android:id="@+id/textView" />
</RelativeLayout>

您可以使用下划線字符拆分文本,然后以編程方式添加TextViews和EditText。

看看這個

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM