我可以借助堆栈溢出来生成自定义TextView,现在我很好奇将具有固定字符串的可变文本连接起来。我已经做到了,但是没有帮助。
import android.content.Context;
import android.support.annotation.Nullable; 导入android.util.AttributeSet;
公共类CustomTextViewTest扩展了android.support.v7.widget.AppCompatTextView {
public CustomTextViewTest(Context context) {
super(context);
}
public CustomTextViewTest(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
}
public CustomTextViewTest(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public void setText(CharSequence text, BufferType type) {
super.setText(text, type);
// here set color according to text
if (text.toString().contains("Available")) {
this.setTextColor(getResources().getColor(R.color.green));
}
if(text.toString().contains("Not Available")){
this.setTextColor(getResources().getColor(R.color.red)); }
if(text.toString().startsWith("0")||text.toString().startsWith("1")||text.toString().startsWith("2")||
text.toString().startsWith("3")||text.toString().startsWith("4")||text.toString().startsWith("5")||
text.toString().startsWith("6")||text.toString().startsWith("7")||text.toString().startsWith("8")
||text.toString().startsWith("9")){
setText(text.toString()+" $"); //this line show something unexpected
}
}}
如何摆脱这种情况?
答案 0 :(得分:0)
如果要显示数值并在末尾添加美元符号,请首先定义格式字符串资源,如下所示:
<string name="amount">%1$s $</string>
,然后提供以下数字值:
double amount = "100.00"
...
amountTextView.setText(context.getString(R.string.amount, amount));