2015-10-14 61 views
0

我有一个baseadapter,它总是从位置0或位置1的顶部开始,但有没有可能使我的Baseadapter从位置5开始?我一直在这里寻找并没有发现这方面的资料,这是我baseadapter,是的它连接到一个列表视图,但我知道的是,列表视图开始由BaseAdapter我怎样才能让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

对,现在问题很高兴帮助! –