0

我做了一个 TextView 和一个按钮。单击该按钮会将用户输入的值保存在变量中。问题是,当触摸 textview 后弹出键盘时,只有第一个字符可以正常显示。其余字符不显示。出现 _ 而不是其他字符。在我完成输入并按下后退按钮后,当键盘消失时,我可以正确看到字符。问题是什么?

    Button okbutton = (Button) findViewById(R.id.okbutton);
    okbutton.setClickable(true);
    final TextView radius = (TextView) findViewById(R.id.radius);

    okbutton.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {
    i=radius.getText().toString();
    }
    });

这是完整的布局

       <?xml version="1.0" encoding="utf-8"?>
       <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent" android:layout_height="fill_parent">

   <ImageView android:id="@+id/icon" android:src="@drawable/settings"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:paddingLeft="10px"></ImageView>

   <TextView android:textSize="20px" android:typeface="sans"
    android:layout_height="wrap_content" android:id="@+id/alarmset"
    android:layout_width="fill_parent" android:text="@string/alarmset"
    android:textStyle="bold" android:gravity="center"
    android:drawablePadding="10px" android:paddingTop="10px"></TextView>

<TextView android:text="@string/distance" android:id="@+id/distance"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_below="@+id/alarmset"></TextView>

<TextView android:id="@+id/kmvalue" android:layout_below="@+id/distance"
    android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>

<TextView android:text="@string/km" android:id="@+id/km"
    android:layout_below="@+id/distance" android:layout_toRightOf="@+id/kmvalue"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:paddingLeft="10px"></TextView>

<TextView android:text="@string/musichooser" android:id="@+id/musictext"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_below="@+id/km" android:paddingTop="10px"></TextView>

<Button android:id="@+id/chooser" android:layout_below="@+id/musictext"
    android:drawableRight="@drawable/lov_ena"
    android:layout_alignParentRight="true" android:layout_width="wrap_content"
    android:layout_height="30px" android:layout_alignBaseline="@+id/musicfile">
</Button>

<EditText android:id="@+id/musicfile" android:layout_width="fill_parent"
    android:layout_below="@+id/musictext" android:layout_toLeftOf="@id/chooser"
    android:layout_height="40px">
</EditText>

<TextView android:text="@string/imgchooser" android:id="@+id/imgText"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_below="@+id/chooser" android:paddingTop="20px"></TextView>

<Button android:id="@+id/imgPicker" android:layout_below="@+id/imgText"
    android:drawableRight="@drawable/lov_ena"
    android:layout_alignParentRight="true" android:layout_width="wrap_content"
    android:layout_height="30px" android:layout_alignBaseline="@+id/imgfile">
</Button>

<EditText android:id="@+id/imgfile" android:layout_width="fill_parent"
    android:layout_below="@+id/imgText" android:layout_toLeftOf="@id/chooser"
    android:layout_height="40px">
</EditText>

<RelativeLayout android:id="@+id/InnerRelativeLayout"
    android:layout_width="wrap_content" android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" android:layout_centerInParent="true">


    <Button android:layout_width="wrap_content"
        android:layout_height="50px" android:id="@+id/setalarm"
        android:layout_centerInParent="true" android:text="@string/setalarm" />
</RelativeLayout>

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/imgfile"
    android:text="Enter Distance" />

<Button
    android:id="@+id/okbutton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/textView1"
    android:text="OK" />

<EditText
    android:id="@+id/radius"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignRight="@+id/imgfile"
    android:layout_alignTop="@+id/okbutton" />

      </RelativeLayout>

此图像应该使问题易于理解 http://i39.tinypic.com/r8t64l.jpg

4

3 回答 3

0

错误地,您在编辑文本上放置了任何其他视图;只需转到您的 xml 文件并打开图形布局,然后使用鼠标指针通过单击在显示的图片中看不到文本的部分来找到该视图,双击该部分可以转到 xml,然后只需从您的 xml 中删除该视图

于 2012-04-06T10:25:15.973 回答
0

尝试将TextView代码中的 更改为EditText.

于 2012-04-06T09:31:04.687 回答
0

按钮 okbutton = (Button) findViewById(R.id.okbutton);

okbutton.setClickable(true);

EditText radius = (EditText) findViewById(R.id.radius);

okbutton.setOnClickListener(new OnClickListener() {

public void onClick(View arg0) {
i=radius.getText().toString();
}
});

尝试这个....

于 2012-04-06T10:02:28.217 回答