Ich muss nur neben meine Produkte in einem Listview einen Preis haben, und sie müssen ausgerichtet werden, wie folgt,Wie kann ich Text links und rechts zur gleichen Zeit in einem Listview ausrichten
- Die Produktname auf der linken Seite, und;
- Der Preis auf der rechten Seite
Dies ist der Code:
public ListView lstMenuItems;
public String[] menuItems = {"Fillet On The Bone", "Rump", "Sirloin", "French Cut Pork Cutlets", "Spatchcock Chicken", "Sticky Smoked Paprika Chicken Wings", "Craft Beer Battered Fish", "Butter Chicken", "Pomegranate & Chilli Marinated Lamb Skewer", "Pork Belly Skewer", "Harissa Basted Chicken Skewer"};
public double[] itemPrice = {135, 99, 99, 99, 89, 79, 60, 75, 99, 95, 69};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
TitleBar(waiterName);
GetListViewValue();
menuItems = AddPad(menuItems, itemPrice);
MenuList();
}
public void MenuList() {
lstMenuItems = (ListView)findViewById(R.id.lvProducts);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.category_list, menuItems);
lstMenuItems.setAdapter(adapter);
}
public String[] AddPad(String[] menu, double[] price) {
NumberFormat format = NumberFormat.getCurrencyInstance(Locale.getDefault());
for (int i = 0; i < menu.length; i++) {
menu[i] = String.format("%-60s %s",menu[i], format.format(price[i]));
}
return menu;
}
Die String.format
Klasse nicht zu funktionieren scheint. Gibt es eine Möglichkeit, dies zu tun?
Bitte Hilfe
sollten Sie einen benutzerdefinierten ListView-Adapter schreiben http://StackOverflow.com/a/33774046/5381331 –
Nie Pad durch Hinzufügen von Leerzeichen in einer echten App. Das ist gut für High-School-Apps, wenn Sie gerade lernen, aber es ist schlampig und ungenau für eine echte App. Es ist nicht einmal sicher zu arbeiten - ein Leerzeichen ist nicht immer die gleiche Breite (was ist, wenn sie die Schriftgröße in den Einstellungen geändert haben). Der eigentliche Weg dazu besteht darin, ein benutzerdefiniertes Layout für Ihren Adapter zu erstellen. –
Wie würde ich das machen? @GabeSechan –