将文本第一个字符编辑为$

时间:2014-12-18 05:39:31

标签: android android-edittext currency

我正在研究我的一个Android项目。 我想要的是在编辑文本中将第一个字符保留为$,用户不应该通过按下软键盘的后退按钮来删除第一个字符。 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

我认为你必须使用如下的布局。这里的美元符号是在文本视图中设置的,而EditText就在它附近。正如您的问题中的评论所说,这是实现这一目标的最佳方式之一。如果您希望来自Edittext的文字(包括$符号)附加EdtText中的文字。

<LinearLayout

    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="$"
        android:textColor="@android:color/black"
        android:layout_marginLeft="10dip" />
    <EditText
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:hint="price"
        android:textColor="@android:color/black" />
</LinearLayout>

要获取包含$ symbol的文字,请执行以下操作:

String text = et_text.getText().toString();
String text_withsymbol = "$" + et_text.getText().toString();

答案 1 :(得分:0)

另一种方法:

我只是在edittext.i之前加上&#34; $&#34; 符号而不是复制@Remees M Syde代码。

<RelativeLayout
                android:id="@+id/relFirst"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" >

                <EditText
                    android:id="@+id/etCostof"
                    style="@style/IncomeText"
                    android:layout_alignParentRight="true"
                    android:layout_marginLeft="20dp"
                    android:inputType="number" >
                </EditText>
                <TextView
                    android:id="@+id/textView1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/etCostof"
                    android:layout_centerVertical="true"
                    android:text="$"
                    android:layout_marginLeft="5dp"
                    android:textAppearance="?android:attr/textAppearanceMedium" />

editext中没有conses。