键入时TextView中的字符无法正确显示

时间:2012-04-06 09:17:24

标签: android layout 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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

按钮okbutton =(按钮)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();
}
});

试试这个......

答案 2 :(得分:0)

错误地你已经对你的编辑文本提出了任何其他观点; jus转到你的xml文件并打开Graphical布局,然后通过点击你看不到所显示图片中文字的部分,用鼠标指针找到那个视图,双击你可以转到xml的部分, jus从你的xml中删除该视图