如何在TextView中添加EditText?

时间:2017-02-09 09:04:15

标签: android android-layout

我想在EditText中添加TextView。我的想法是建立一个两个活动,其中在第一个活动中,填写空白类型的问题将输入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>

1 个答案:

答案 0 :(得分:0)

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

看看this