我必须 动态更改它Typeface,EditText并在字体更改时处理提示文本.我只是这样做:
<android.support.design.widget.TextInputLayout
android:id="@+id/input_layout_textBox"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<EditText
android:id="@+id/textBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/hint_date" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
我的代码片段如下:
EditText textBox = (EditText) findViewById(R.id.textBox);
Typeface tf = Typeface.createFromAsset(this, "myfont.ttf");
textBox.setTypeface(tf);
String hintText = textBox.getHint().toString(); //Got NullPointerException here....
String newText = processText(hintText); //This will process the hint text;
textBox.setHint(newText);
Run Code Online (Sandbox Code Playgroud)
当我退出程序时,我得到以下异常:
java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference
请帮我解决这个问题.
我们需要首先查看your_layout.xml以确定这一点,但您可能正在使用设计支持库。
如果是这样,您可以通过以下方式获得提示:
((TextInputLayout)textBox.getParent()).getHint();
Run Code Online (Sandbox Code Playgroud)
这已经在这里得到了回答。(尽管我们需要确保您使用设计支持林将您的问题标记为重复)
| 归档时间: |
|
| 查看次数: |
2740 次 |
| 最近记录: |