2015-10-14 1 views
0

У меня есть базовый адаптер, и он всегда начинается с позиции 0 или 1 на самом верху, но есть ли что-то, что я могу сделать, чтобы мой базовый адаптер начал в позиции 5? Я искал здесь и не нашли информацию о том, что это мой baseadapter и да, это связано с ListView, но я знаю, что положение о том, что ListView начинает контролируется BaseAdapterКак получить базовый адаптер для начала в другом положении, чем 0 или 1

public class myadapter extends BaseAdapter { 

    Context context; 
    LayoutInflater myiflater; 
    public myadapter() { 

     myiflater = (LayoutInflater) c.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    } 


    @Override 
    public int getCount() { 
    return 20; 



    } 

    @Override 
    public Object getItem(int position) { 
     return 5; 
    } 

    @Override 
    public long getItemId(int position) { 
     return 5; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 

// all of this is already correct 
     } 
catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return convertView; 
      } 
     return convertView; 
    } 
} 

Как вы можете см. Я попытался установить начальную позицию на 5, но это не сработает.

ответ

1

ли это с ListView:

mListView.setSelection(5); 

setSelection() устанавливает текущую позицию ListView через адаптер. То, как вы пытаетесь, не имеет смысла. Для метода getItem() вы должны вернуть объект, а не числовое значение для позиции. Дайте мне знать, если это работает

+0

Спасибо большое, что работало отлично. – user1591668

+0

Сразу, теперь проблема рада помочь! –