我想在 TextView 中显示货币格式。 例如,如果数据库中是 2000 那么它将是 2.000
这是我尝试过的:
public class ItemAdapter extends BaseAdapter {
ArrayList<HashMap<String, String>> data;
private Context context;
private ArrayList<ModelItems> arraylistitem;
LayoutInflater inflater;
ItemsActivity main;
public ItemAdapter(ItemsActivity main, List<ModelItems> itemsModel) {
this.main = main;
}
public ItemAdapter(Context context,
ArrayList<HashMap<String, String>> arraylist, List<ModelItems> populationlist) {
this.context = context;
this.main.itemsModel = populationlist;
data = arraylist;
this.arraylistitem = new ArrayList<ModelItems>();
this.arraylistitem.addAll(populationlist);
}
@Override
public int getCount() {
return main.itemsModel.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
static class ViewHolderItem {
TextView nameItem;
TextView priceItem;
ImageView imageItem;
}
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolderItem holder = new ViewHolderItem();
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) main.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.list_item, null);
holder.nameItem = (TextView) convertView.findViewById(R.id.item_name);
holder.priceItem = (TextView) convertView.findViewById(R.id.item_price);
holder.imageItem = (ImageView) convertView.findViewById(R.id.imgItem);
convertView.setTag(holder);
} else {
holder = (ViewHolderItem) convertView.getTag();
}
Locale locale = new Locale("id", "id");
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
holder.priceItem.setText(fmt.format(this.main.itemsModel.get(position).getPrice()));
holder.priceItem.setText(this.main.itemsModel.get(position).getPrice());
holder.nameItem.setText(this.main.itemsModel.get(position).getName());
return convertView;
}
}
但是还是报错。 你能帮我吗,因为我刚开始接触 Android
最佳答案
尝试类似的方法将文本转换为美元货币
Locale locale = Locale.US;
NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
String currencyText = fmt.format(this.main.itemsModel.get(position).getPrice());
holder.priceItem.setText(currencyText);
Locale 类为不同国家提供了许多 Locale 常量。
如果您想要其他货币,请访问此链接。您可以从该类提供的静态变量中查看。
关于android - 如何在textview中显示货币格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38952019/