动态添加EditText使其成为只读

问题描述 投票:0回答:1

我有一个在xml中定义的EditText,我想动态添加另一个,但是当应用程序运行时,动态添加的行为类似于TextView。我无法输入任何文字,也没有插入符号。它甚至看起来不像我静态包含的EditText。看图像。

enter image description here

我有最新的Android Studio,最新的模拟器,在API 28和物理设备三星S8 + API 26上试用它,它在任何地方的工作方式都很奇怪。最糟糕的是,我确信它在过去是有效的。

请问我怎么能找出什么是错的?修理它?

码:

public class TActivity extends AppCompatActivity {

 private LinearLayout Layout;

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

  Layout = (LinearLayout) findViewById(R.id.Layout);

  EditText Textbox = new EditText(this);
  Textbox.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
  Textbox.setText("My text");
  //Textbox.setEnabled(true);
  Layout.addView(Textbox);
 }
}

布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/Layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/ThisWorks"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"/>
</LinearLayout>
android android-layout android-edittext
1个回答
3
投票

而不是设置文本尝试设置提示和setEnabled为true

   EditText editText = new EditText(this);
      editText.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
      editText.setHint("My Text");
      editText.setEnabled(true);
      //editText.setEditable(true);
      Layout.addView(editText);
© www.soinside.com 2019 - 2024. All rights reserved.