0

アダプターの getView メソッドの位置パラメーターの意味を詳しく理解したいと思います。ListView で、Textview とボタンでカスタム アダプターを設定したいと思います。
コードは後述します。

  public View getView(final int position, View convertView, ViewGroup parent) 
    {  
        try
        {
            if(convertView==null)
            {
            LayoutInflater inflater = context.getLayoutInflater();   
            convertView = inflater.inflate(R.layout.contactslist, null);

             name = (TextView) convertView.findViewById(R.id.contactname);
            number = (TextView) convertView.findViewById(R.id.contactmobnum);
             call=(Button)convertView.findViewById(R.id.callcust);
            }
            name.setText(cursor.getString(1));
            number.setText(cursor.getString(2));
            cursor.moveToNext();
            call.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) 
                {
                                            Log.i("Testing","Position selected is "+position);
                                          }             
                                    });

        } catch(Exception e) {
            Log.d("Testing", "isDefault::: exec"+e);
        }

        return convertView;
    }  

カーソル内に合計 10 個のアイテムがあり、5 番目の位置の呼び出しボタンをクリックすると、どのような結果が期待されますか?
10か5か?
以前に Base Adapter を使用して 10 として経験したため、混乱していますが、上記のコードでは 5 が返されます。行がリストに追加されている間だけ位置が行 ID を返すのか、それとも選択した行 ID を返すのかを理解してください?
理解が深まるのを楽しみにしています

4

2 に答える 2