我在ListView中有7个元素。我想这样做,当我推动每个项目时,它应该召唤不同的类。
Intent intent = new Intent(MainActivity.this, NewActivity.class);
startActivity(intent);
第一项的应为
intent(MainActivity,this, NewActivity.class)
,第二意图
(this, AnotherActivity.class)
如何实现这个?
答案 0 :(得分:0)
你有没有想过在getView (int position, View convertView, ViewGroup parent)
函数中对你的类的适配器做必要的事情。这里的代码可以很好地管理。
getView()实现可以是这样的 -
public class MyAdapter extends BaseAdapter implements View.OnClickListener {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.rowlayout, parent, false);
View v1 = rowView.findViewById(R.id.id_v1);
View v2 = rowView.findViewById(R.id.id_v2);
.....
.....
View v6 = rowView.findViewById(R.id.id_v6);
View v7 = rowView.findViewById(R.id.id_v7);
v1.setOnClickListener(this);
v2.setOnClickListener(this);
.....
.....
适配器类中的OnClickListener实现 -
@Override
public void onClick(View v)
{
switch(v.getId() {
case R.id.id_v1: intent(MainActivity,this, NewActivity.class);break;
case R.id.id_v2: (this, AnotherActivity.class); break;
....
....
}
}