2017-07-02 144 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(); 
}