按如下方式创建动态EditText
EditText myText = new EditText(this);
myText.setId(ctrlKey);
myText.setBackgroundResource(R.drawable.style_edittext);
myText.setClickable(true);
myText.setCursorVisible(true);
myText.setTextColor(Color.BLACK);
myText.setTextSize(12);
myText.setText("may i"); //pageField.getValue());
myText.setSelection(0);
myText.setCursorVisible(true);
if (pageField.getMultiline()) {
myText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE);
}
else
myText.setSingleLine(true);
//myText.setEnabled(false);
pageLayout.setLayoutParams(ctrllp);
pageLayout.addView(myText, ctrllp);
Edittext
已创建并在适当的位置显示,但我无法在Edittext
中看到该文本,当我在其中尝试放置光标时,似乎已经存在文本Edittext
(下面显示的光标位置和帮助字确认)。即使我在Edittext
中输入的内容也不可见。
XML
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="com.topazsystems.pdoc.MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<include
android:id="@+id/toolbar"
android:layout_height="wrap_content"
android:layout_width="match_parent"
layout="@layout/toolbar" />
</android.support.design.widget.AppBarLayout>
<com.topazsystems.pdoc.ZoomableViewGroup
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity = "center_horizontal|center_vertical"
android:id="@+id/zoomLayout"
xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="fill"
android:id="@+id/RelLayout">
<include layout="@layout/content_main" />
</RelativeLayout>
</com.topazsystems.pdoc.ZoomableViewGroup>
<include layout="@layout/fragment_navigation"/>
</android.support.design.widget.CoordinatorLayout>
在activity oncreate中我正在调用一个包含控件呈现代码的方法。
pageLayout = (RelativeLayout) findViewById(com.topazsystems.pdoc.R.id.RelLayout);
//to display page controls during appload
pageControlsList = pdfRenderer.GetPageControls();
if (pageControlsList != null) {
if (pageControlsList.size() > 0) {
generateControls();
//fillDefaultDocControls();
mfrg.showPage(pdfRenderer.getmCurrentPageNum(), true, this);
}
}
其中generatecontrols()包含edittext创建代码,mfrg是fragment的实例。
答案 0 :(得分:0)
检查一次删除后台资源,如果它是罪魁祸首。所以删除以下行并检查文本是否可见。
myText.setBackgroundResource(R.drawable.style_edittext);
答案 1 :(得分:0)
您在var device = RestService.For<IDevice>("http://localhost");
var dev = await device.GetDevice("15e2a691-06df-4741-b26e-87e1eecc6bd7", "Bearer OAUTH_TOKEN");
中传递了错误的上下文,您需要传递EditText
的父级上下文,如下面的代码。
在您的代码中,您将EditText
添加到EditText
。
pageLayout
答案 2 :(得分:0)
这些答案都不适合我。经过详细研究后,我观察到文本区域看起来非常小,文本不可见。只需添加以下行即可解决问题。
myText.setPadding(0,0,0,0);