2012-01-20 3 views
3

listview에있는 각 열에 대해 별도의 클릭 이벤트를 어떻게 처리 할 수 ​​있습니까? listview의 각 행에 두 개의 textviews이 있습니다. 각 textview에 대해 두 개의 개별 이벤트를 처리하려고합니다.목록보기의 각 열에 대한 개별 클릭 이벤트

어떻게하면됩니까? 도와주세요. 당신이 당신의 사용자 정의 목록보기를 만들 때

+0

TableLayout을 생각해보십시오. –

답변

3

당신은 당신이 텍스트 뷰 여기

값이

@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

의 조각 코드 설정 사용자 지정 어댑터를 텍스트 뷰에 대한 OnClickListener를 정의하여 해당 클릭 이벤트를 처리 할 수 .. 당신의 텍스트 뷰의 클릭 리스너를 설정 당신의 getView()에서 어댑터 ..

를 사용

@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. 
} 
관련 문제