2017-07-02 100 views
0

我都含有GridView活动中,GridView的每个元素包含一个ImageView和活动开始时我想执行的第一个项目的ImageView点击。我试过几件不起作用的东西:点击在GridView第一项工作不

gridView.performItemClick(gridView.getChildAt(0), 0, gridView.getAdapter().getItemId(0)); 

performClick()直接。

但是我觉得找到了一种方法,通过调用我的自定义GridViewAdapter执行的第一个项目的ImageView点击里面的函数(performEmptyClick())做到这一点。

我的问题是performEmptyClick()在适配器的getView()调用之前调用(从调试),因此ImageViewonClickListener()是尚未设定。这里是代码:

gridView = (GridView) findViewById(R.id.folderGridView); 
folderViewAdapter = new FolderViewAdapter(this, R.layout.folder_item_layout, folderItems); 
gridView.setAdapter(folderViewAdapter); 

Bundle extras = getIntent().getExtras(); 
noFolder = extras.getBoolean("noFolder"); 

if (noFolder) { 
    folderViewAdapter.performEmptyClick(); 
} 

任何人都可以帮我解决这个问题吗?

回答

0

尝试

gridView = (GridView) findViewById(R.id.folderGridView); 
folderViewAdapter = new FolderViewAdapter(this, 
R.layout.folder_item_layout, folderItems); 
gridView.setAdapter(folderViewAdapter); 

Bundle extras = getIntent().getExtras(); 
noFolder = extras.getBoolean("noFolder"); 

if (noFolder) { 
    gridView.getChildAt(0).performClick(); 
} 
相关问题