我是Android新手。我有一些产品,如a0,a1,a2。我想在第二行中将它们的定义添加为x0,x1,x2。
这是我的主要代码:
private ListView lv;
ArrayAdapter<String> adapter;
ArrayList<HashMap<String, String>> productList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_eagle);
String products[] = {"a0", "a1","a2", };
String definitions[] = {"x0", "x1","x2",};
lv = (ListView) findViewById(R.id.list_view);
inputSearch = (EditText) findViewById(R.id.inputSearch);
// Adding items to listview
adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, products);
lv.setAdapter(adapter);
A0
A1
A2
如何以这种方式找到它们:
A0
X0
A1
X1
A2
X2
提前致谢。
答案 0 :(得分:0)
- 默认 ArrayAdapter
只能处理 TextView
。
- 因此,如果您想要显示2 TextView
,那么最好使用Custom ArrayAdapter
。
请参阅Custom ArrayAdapter示例的此链接:
答案 1 :(得分:0)
您需要将适配器更改为以下内容:
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_2, products){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null)
convertView = View.inflate(getBaseContext(), android.R.layout.simple_list_item_2, null);
((TextView) convertView.findViewById(android.R.id.text1)).setText(products[position]);
((TextView) convertView.findViewById(android.R.id.text2)).setText(definitions[position]);
return convertView;
}
};