---- Новый код: ---- Как это возможно, если этот новый код добавит дополнительную строку с меньшим шрифтом? Ожидаемый результат должен быть таким:Установить несколько строк программным способом
Hamburger ($ 2)
Хорошая говядина с салатом
Pizza ($ 3)
С большим сыром
Chicken Nuggets ($ 4)
С лучший соус
@Override
public void onCreate(Bundle savedInstanceState)
{
final ListView listview = (ListView) findViewById(R.id.listview);
String[] values = new String[] { "Food (€4)", "Food also (€3)", "Food again (€2,50)" };
final ArrayList<String> list = new ArrayList<String>();
for (int i = 0; i < values.length; ++i) {
list.add(values[i]);
}
final StableArrayAdapter adapter = new StableArrayAdapter(this, android.R.layout.simple_list_item_1, list);
listview.setAdapter(adapter);
}
private class StableArrayAdapter extends ArrayAdapter<String> {
HashMap<String, Integer> mIdMap = new HashMap<String, Integer>();
public StableArrayAdapter(Context context, int textViewResourceId,
List<String> objects) {
super(context, textViewResourceId, objects);
for (int i = 0; i < objects.size(); ++i) {
mIdMap.put(objects.get(i), i);
}
}
}
---- Старый код: ----
Я хотел бы поместить 'список меню' программно .. Что-то вроде этого, как выход:
Hamburger Хорошая говядина с салатом
Пицца с большим сыром
куриные наггетсы с лучшим соусом
На данный момент все предложения программируются отдельно:
TextView mContent = new TextView(this);
mContent.setText("Hamburger");
mContent.setTextColor(getResources().getColor(android.R.color.black));
mContent.setPadding(32, 8, 32, 0);
mContent.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(mContent);
TextView mContent2 = new TextView(this);
mContent2.setText("TextView mContent = new TextView(this);
//mContent.setText("Broodje hamburger (€6)\nBroodje hotdog (€4,50)\nPizza (€7)\nSpaghetti (€5)");
mContent.setText("Broodje hamburger (€6)");
mContent.setTextColor(getResources().getColor(android.R.color.black));
mContent.setPadding(32, 8, 32, 0);
mContent.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(mContent);
TextView mContent2 = new TextView(this);
mContent2.setText("Met echt rundbeef, sla, tomaten en een lekker sausje");
mContent2.setTypeface(null, Typeface.ITALIC);
mContent2.setTextColor(getResources().getColor(android.R.color.black));
mContent2.setPadding(32, 0, 32, 16);
mContent2.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(mContent2);");
mContent2.setTypeface(null, Typeface.ITALIC);
mContent2.setTextColor(getResources().getColor(android.R.color.black));
mContent2.setPadding(32, 0, 32, 16);
mContent2.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
((LinearLayout) linearLayout).addView(mContent2);
Есть ли более простой способ решить эту проблему?
Здравствуйте, такой же комментарий как MikeKeepsOnShine: При проверке учебника Vogel, я использовал пример кода из главы 2. Но вместо списка, единственным результатом является первый элемент списка (например: «Android «). Я делаю что-то неправильно? – 0846277
Пожалуйста, обновите свой код –
Моя ошибка .. Высота была очень маленькой и только показала один результат. Другие результаты были видны с помощью прокрутки – 0846277