Действительно очень нужна помощь с этим !!!
У меня есть представление списка, в котором пользователь может добавлять к нему данные (строки).Также можно удалить строки (контекстное меню для каждого элемента списка). Для каждого элемента списка есть текстовое поле с номером строки в нем.Номер увеличивается для каждой строки, если строки удаляются, то номер строки также изменяется (все строки ниже индекса удаленного элемента уменьшаются на 1)
У меня есть следующий код, который необходимо обновить (для утечки памяти, уже знаю, как это сделать).Вопрос касается индекса строки, который показывается пользователю.Я думаю, что мой способ сделать это НЕПРАВИЛЬНО.Если есть способ сделать это со стабильными?с индексом строки?Я думаю, что есть, но не смог найти примеры для этого в сети.
Я понял, что получить номер строки в соответствии с возможностью неправильно, хотя этот работает
В основном, что мне нужнозаключается в том, чтобы раздувать связанный макет в соответствии с положением (первым или последним)
Вот функция 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;
}