2014-05-31 9 views
0

У меня есть 7 элементов в ListView. Я хочу сделать так, что, когда я нажимаю на каждый элемент, он должен вызывать разные классы.ListView для каждого элемента списка

Intent intent = new Intent(MainActivity.this, NewActivity.class); 
         startActivity(intent); 

для первого элемента должен быть

intent(MainActivity,this, NewActivity.class) 

, для второго намерения

(this, AnotherActivity.class) 

Как это реализовать?

ответ

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

    } 

    } 
+0

нормально, я постараюсь ... спасибо – Paltroth

Смежные вопросы