-2

私の ListView には、列のように配置された多数のブロックが含まれています。

現時点では、行番号はわかりますが、列を取得するのに苦労しています。

私が探していると思うのは、どちらかを発見する方法です

  • ユーザーがタップしたビュー
  • タップの水平座標とそれを計算します。
  • 私が考えていなかった他の方法。

実際の質問: ListView から列番号を取得するにはどうすればよいですか?

4

1 に答える 1

1

onClick(View view)リストビューにバインドしたアダプタークラスから、タップされたビューのメソッドを実装してみることができます。

次に例を示します。

public View getView(final int position, View convertView, ViewGroup parent) {
    View row = convertView;
    ContactHolder holder = null;

    if (row == null) {
        LayoutInflater inflater = ((Activity) context).getLayoutInflater();
        row = inflater.inflate(layoutResourceId, parent, false);

        holder = new ContactHolder();
        holder.imgPhone = (ImageView) row.findViewById(R.id.imgPhone);
        holder.imgPhone.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


                Intent callIntent = new Intent(Intent.ACTION_CALL);


                callIntent.setData(Uri.parse("tel:" + contactArrayList.get(position).phone_number));
                context.startActivity(callIntent);
            }
        });


        row.setTag(holder);
    } else {
        holder = (ContactHolder) row.getTag();

    return row;
}
于 2013-04-22T07:38:44.173 に答える