ListView为每个列表项

时间:2014-05-31 17:36:38

标签: android listview android-intent view

我在ListView中有7个元素。我想这样做,当我推动每个项目时,它应该召唤不同的类。

Intent intent = new Intent(MainActivity.this, NewActivity.class);
                        startActivity(intent);
第一项的

应为

intent(MainActivity,this, NewActivity.class)

,第二意图

(this,  AnotherActivity.class)

如何实现这个?

1 个答案:

答案 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;
    ....
    ....        

    }

   }