我有一个用于描述的EditText。
在它下面,我有一个TextView显示在EditText中输入的字符数。
示例:
用户应该能够在输入过程中看到实时字符数,但此时键盘隐藏了被追踪的计数器:
我该怎么做才能纠正这个问题?
这是我的xml代码:
<EditText
android:id="@+id/MyDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:maxLength="500"
android:hint="Description" />
<TextView
android:id="@+id/MyDescriptionCharCount"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0/500"
android:layout_below="@id/MyDescription"
android:layout_marginTop="5dp"
android:layout_marginRight="3dp"
android:layout_marginEnd="3dp"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
父亲是RelativeLayout。
答案 0 :(得分:1)
您必须使用TextWatcher扩展该类并覆盖afterTextChanged(),beforeTextChanged(),onTextChanged()。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="page" page-width="8.5in" page-height="11in" margin-top="0.5in" margin-bottom="0.5in" margin-left="0.5in" margin-right="0.5in">
<fo:region-body region-name="body" margin-top="0.5in" margin-bottom="0.5in" margin-left="0.5in" margin-right="0.5in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="page">
<fo:flow flow-name="body">
<xsl:apply-templates/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="items">
<fo:block space-before="6pt" border-top="3pt solid green">
<fo:table>
<fo:table-body>
<xsl:apply-templates/>
</fo:table-body>
</fo:table>
</fo:block>
</xsl:template>
<xsl:template match="title">
<fo:table-row>
<xsl:apply-templates select="@*"/>
</fo:table-row>
</xsl:template>
<xsl:template match="@ID | @location | @price">
<fo:table-cell border="1pt solid black">
<fo:block>
<xsl:value-of select="."/>
</fo:block>
</fo:table-cell>
</xsl:template>
</xsl:stylesheet>
});
您可以尝试以下布局。
EditText MyDescription = (EditText)findViewById(R.id. MyDescription);
MyDescription.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// s.toString().trim().length();
}
答案 1 :(得分:0)
要查看字符计数器的Textview,请在清单文件的activity
标记中添加以下行。
android:windowSoftInputMode="adjustResize|stateAlwaysHidden"
在添加软输入键盘后,这将自动将您的活动布局向上移动以修复可用高度。有关此检查的更多详细信息here.