我想在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开始的
答案 0 :(得分:3)
尝试以类似的方式转换$ currency
中的文字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常量。
如果您想要其他货币,请转到此链接。您可以从此类提供的静态变量中查找。