Android Listview项索引对用户可见

Android Listview项索引对用户可见,android,listviewitem,Android,Listviewitem,真的需要一些帮助 我有一个列表视图,用户可以在其中添加数据(行)。还可以删除行(每个listviewitem的上下文菜单) 对于每个listviewitem,都有一个包含行号的文本框。每行的编号都会增加,如果删除了行,则行编号也会更改(删除项索引下的所有行都会减少1) 我有以下需要更新的代码(对于内存泄漏,我已经知道怎么做了)。问题是关于显示给用户的行索引。我认为我的做法是错误的。 有没有办法用stableids来做?使用行索引? 我想有,但在网上找不到这样的例子 我知道,根据position获

真的需要一些帮助

我有一个列表视图,用户可以在其中添加数据(行)。还可以删除行(每个listviewitem的上下文菜单) 对于每个listviewitem,都有一个包含行号的文本框。每行的编号都会增加,如果删除了行,则行编号也会更改(删除项索引下的所有行都会减少1)

我有以下需要更新的代码(对于内存泄漏,我已经知道怎么做了)。问题是关于显示给用户的行索引。我认为我的做法是错误的。 有没有办法用stableids来做?使用行索引? 我想有,但在网上找不到这样的例子

我知道,根据position获取行号是错误的,尽管这个行号有效

基本上我需要的是根据位置(第一个或最后一个)对相关布局进行充气

下面是getView函数

@Override
public View getView(    int         position, 
                        View        convertView, 
                        ViewGroup   parent ) 
{
    ViewHolder viewHolder = new ViewHolder();

    if( convertView == null )
    {
        if( position == 0 && position == getCount() - 1 )
        {
            // TODO
            convertView             = mInflater.inflate(R.layout.recipes_ingredient_list_up_view_entry, null);//mSingleItem; 
            viewHolder.mTextView    = (TextView) convertView.findViewById( R.id.listUp_RecipeIngredientNameTextBoxId );;//mSingleTextView;
        }
        else if( position == 0)
        {
            convertView             = mInflater.inflate(R.layout.recipes_ingredient_list_up_view_entry, null);//mUpItem;
            viewHolder.mTextView    = (TextView) convertView.findViewById( R.id.listUp_RecipeIngredientNameTextBoxId );;//mUpTextView;
        }
        else if( position == getCount() - 1 )
        {
            convertView             = mInflater.inflate(R.layout.recipes_ingredient_list_down_view_entry, null);;;;//mDownItem;
            viewHolder.mTextView    = (TextView) convertView.findViewById( R.id.listDown_RecipeIngredientNameTextBoxId );;;//mDownTextView;
        }
        else
        {
            convertView             = mInflater.inflate(R.layout.recipes_ingredient_list_middle_view_entry, null);//mMiddleItem;
            viewHolder.mTextView    = (TextView) convertView.findViewById( R.id.listMiddle_RecipeIngredientNameTextBoxId );;// mMiddleTextView;
        }

        viewHolder.mTextView.setTypeface( GlobalData.Fonts.ARIAL );
        viewHolder.mTextView.setTextSize(14);
        viewHolder.mTextView.setTextColor( Color.BLACK );
    }
    else
    {
        viewHolder = (ViewHolder) convertView.getTag();
    }

    if( super.getItem(position) != null )
    {
        viewHolder.mTextView.setText( mItems.get(position) );
        convertView.setTag( viewHolder );
    } 

    return convertView;
}