如何在customtextview中用固定字符串连接可变文本值

时间:2019-06-29 05:06:08

标签: java android

我可以借助堆栈溢出来生成自定义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


    }
}}

如何摆脱这种情况?

1 个答案:

答案 0 :(得分:0)

如果要显示数值并在末尾添加美元符号,请首先定义格式字符串资源,如下所示:

<string name="amount">%1$s $</string>

,然后提供以下数字值:

double amount = "100.00"
...
amountTextView.setText(context.getString(R.string.amount, amount));