我现在正在学习 Android 并在列表视图上工作以显示列表的多个项目。这可能是个愚蠢的问题,但我必须要求找出幕后的原因(如果有的话)
以下是将数据填充到列表视图的 2 种方法
方式1
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListView moblieListView = getListView();
MobileListAdapter mobileListAdapter = new MobileListAdapter(getApplicationContext(), mobileList);
moblieListView.setAdapter(mobileListAdapter);
moblieListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String selectedValue = (String)parent.getItemAtPosition(position);
Toast.makeText(getApplicationContext(), selectedValue, Toast.LENGTH_SHORT).show();
}
});
}
方式2
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MobileListAdapter mobileListAdapter = new MobileListAdapter(getApplicationContext(), mobileList);
setListAdapter(mobileListAdapter);
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
String str = l.getItemAtPosition(position).toString();
Toast.makeText(MobileActivity.this, str, Toast.LENGTH_SHORT).show();
}
我现在看到的way1
是有一个对象ListView
,但是way2
。另一点onItemClick
位于 in onCreate
,然而,onItemClick 与inway1
分开。onCreate
way2
问题当我们应该使用way1 而不是way2 或反之亦然时,是否有任何特殊原因。如果您对这些有任何想法,请提供帮助。