我有一个在xml中定义的EditText,我想动态添加另一个,但是当应用程序运行时,动态添加的行为类似于TextView。我无法输入任何文字,也没有插入符号。它甚至看起来不像我静态包含的EditText。看图像。
我有最新的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>
而不是设置文本尝试设置提示和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);