0

このような私のカスタムListViewアダプタクラス。アイテムが押されたら(onclick)、アイテムのインデックス番号を取得したい。インデックス番号を取得して int に渡すにはどうすればよいですか。インデックス番号を取得するコードは、onCreate メソッドの後にあります。私を助けてください!

// On holder.txtstormName_Nice button click i want to get selected item index.
public class ListViewCustomAlerts extends BaseAdapter {

    ArrayList<HurricaneBeanClass> itemList;

    public Activity context;
    public LayoutInflater inflater;
    public ListViewCustomAlerts(Activity context,ArrayList<HurricaneBeanClass> arraylist_List) 
    {
        super();
        this.context = context;
        this.itemList = arraylist_List;
        this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }
    @Override
    public int getCount() 
    {
        return itemList.size();
    }

    @Override
    public Object getItem(int position) 
    {
        return itemList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }
    @Override
    public View getView(final int position, View convertView, ViewGroup parent) {
         p =position;
       final ViewHolder holder;
        if(convertView==null)
        {
            holder = new ViewHolder();
            convertView = inflater.inflate(R.layout.hurricane_row, null);  
            holder.txtstormName_Nice=(TextView)convertView.findViewById(R.id.hurricaneNameRowTextView);
            convertView.setTag(holder);  

        }
        else
            holder=(ViewHolder)convertView.getTag();
        HurricaneBeanClass bean = (HurricaneBeanClass) itemList.get(position);
        holder.txtstormName_Nice.setText(bean.getStormName_Nice());

        holder.txtstormName_Nice.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
        //here i want item index.................
                HurricaneBeanClass bean = (HurricaneBeanClass) itemList.get(position);
                HurricaneActivity.curlat=bean.getCurentlat();
                HurricaneActivity.curlon=bean.getCurentlon();

...

            }
        });

        return convertView;

    }                  

}

public static class ViewHolder
{
    TextView txtstormName_Nice;
}
4

3 に答える 3

1

リスト ビュー アイテムの位置は、既に引数リストに入っています。

public View getView(int position, View convertView, ViewGroup parent) {
于 2012-09-04T11:21:25.887 に答える
1

要素の de id が必要な場合は、getView に次のように記述できます。

getItemId(position)
于 2012-09-04T11:22:35.683 に答える
0

getView() メソッドで取得できます

 public View getView(final int position, View convertView, ViewGroup parent) {
 .........
 .....

  System.out.println("Index:"+position);
 }

だから、ここで位置はあなたのインデックスです

于 2012-09-04T11:14:26.263 に答える