listview
の列ごとに個別のクリックイベントを設定するにはどうすればよいですか。私はlistview
の各行に2つのtextviews
を持っています。私はそれぞれtextview
の2つの別々のイベントを扱いたいと思う。リストビューの各列の個別のクリックイベント
どうすればいいですか?助けてください。あなたのカスタムリストビューを作成するとき
listview
の列ごとに個別のクリックイベントを設定するにはどうすればよいですか。私はlistview
の各行に2つのtextviews
を持っています。私はそれぞれtextview
の2つの別々のイベントを扱いたいと思う。リストビューの各列の個別のクリックイベント
どうすればいいですか?助けてください。あなたのカスタムリストビューを作成するとき
あなたはあなたの中にあなたが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
};
});
}
..........
}
のためのスニペットコードで設定したカスタムアダプターをTextViewのためonClickListenerを定義することにより、そのクリックイベントを処理することができます..あなたのTextViewのクリックリスナーを設定し、あなたの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.
}
私はあなたがTableLayoutを考えるかもしれないと思います。 –