2017-02-09 14 views
1

TextView 내에 EditText을 추가하려고합니다. 제 아이디어는 첫 번째 활동에서 공백 유형을 채우고 EditText에 입력하고 버튼 클릭시 두 번째 활동으로 보내고 두 번째 활동에서는 첫 번째 활동에 입력 된 텍스트를 입력하는 두 가지 활동을 작성하는 것입니다. 응답해야하는 공백 대신 EditText과 함께 표시됩니다.TextView에 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> 
+2

두 번째 활동에서 텍스트 편집을 사용하는 이유는 단순히 텍스트보기를 사용하여 텍스트를 표시하기 만하면됩니다. – user7176550

+0

두 번째 활동의 첫 번째 활동에 입력 된 텍스트의 표시와 함께 답장을 보내고 사용자가 빈 칸에 _을 입력하여 edittext로 바꾸기를 원합니다. – Param

+1

이 작업을 수행하려면 EditText를 TextView에 "추가"하지 말아야합니다.이를 달성하는 가장 쉬운 방법은 단어가 많은 TextViews를 작성하고 TextView 대신 사용자가 작성해야하는 EditText를 작성하는 것입니다 그의 입력. 또 다른 방법은 사용자 정의보기를 작성하여 EditText 또는 TextView를 확장하거나 심지어 처음부터 새로 작성하는 것입니다. –

답변

0

텍스트를 밑줄 문자로 분리 한 다음 프로그래밍 방식으로 TextViews 및 EditText를 추가 할 수 있습니다.

this을 살펴보십시오.

관련 문제