我希望用户在编辑文本中键入文本时选择是粗体,斜体还是普通。如果用户选择粗体,则其后键入的文本应为粗体,然后,如果他选择斜体,则先前的文本应为粗体,只有用户要键入的新单词应为斜体。然后在打印此文件时,应按照编辑文本中的外观进行打印。
我已经尝试使用观察者和所有对象,现在,当我单击edittext时,edittext中什么也没有出现,有时会崩溃。
我的代码
<EditText
android:id="@+id/check_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="check"
/>
和Java
bold.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
typeFaceSelected = Typeface.BOLD;
}
});
italics.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
typeFaceSelected = Typeface.ITALIC;
}
});
normal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
typeFaceSelected = Typeface.NORMAL;
}
});
editCheck.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
String sAux = s.toString().substring(start, start + count);
switch(typeFaceSelected)
{
case Typeface.NORMAL:
resultedText = sAux;
break;
case Typeface.ITALIC:
resultedText = "<i>" + sAux + "</i>";
break;
case Typeface.BOLD:
resultedText = "<b>" + sAux + "</b>";
break;
}
editCheck.setText(Html.fromHtml(resultedText));
}
});
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//result.setText(Html.fromHtml(resultedText));
result.setText(Html.fromHtml("<b>Hello World </b>"));
}
});
我在哪里弄错了。