2012-01-20 4 views
3

Как я могу иметь отдельные события щелчка для каждого столбца в listview? У меня есть два textviews в каждой строке listview. Я хочу обрабатывать два отдельных события для каждого textview.отдельные события щелчка для каждого столбца в виде списка

Как я могу это сделать? Пожалуйста помоги.

+0

Думаю, вы можете подумать о TableLayout. –

ответ

3

вы можете обрабатывать это событие щелчка, определяя onClickListener для TextView в вас пользовательский адаптер Здесь вы можете установить TextView значения

вот фрагмент кода для этого

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if(convertView == null){ 
     LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     converView = inflater.inflate(R.layout.your_layout, null); 
     final ViewHolder viewHolder = new ViewHolder(); 
     viewHolder.textView1 = (TextView) view.findViewById(R.id.text1); 
     textView1.setOnClickListener(new OnClickListener(){ 
       @Override 
       public void onClick(View v){ 
        // do whatever you want 
       }; 
     }); 
     viewHolder.textView2 = (TextView) view.findViewById(R.id.text2); 
     textView2.setOnClickListener(new OnClickListener(){ 
       @Override 
       public void onClick(View v){ 
        // do whatever you want 
       }; 
     }); 
    } 
.......... 
} 
0

При создании пользовательского Listview с помощью адаптера ..

В вашем GetView() Настройка кликах слушателей для TextView ..

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    View v = convertView; 
    if (v == null) { 
     LayoutInflater vi = (LayoutInflater) 
     getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     v = vi.inflate(R.layout.row, null); 
    } 

    TextView textViewTwo = (TextView) v.findViewById(R.id.text_view_two); 
    if (textViewTwo != null) 
     textViewTwo.setOnClickListener(this); 

    return v; 
} 

@Override 
public void onClick(View v) { 
    Log.d("Sample", "Clicked on tag: " + v.getTag()); 
    // Do something here, like start new activity. 
}