我正在创建一个包含两个视图的自定义列表视图:一个 Imageview 和一个 TextView。一切正常,但我想访问列表视图的特定位置以更改可见性。我试过这个方法,但它不起作用。private void updateView(int index){// View v = mListView.getChildAt(index-mListView.getFirstVisiblePosition()); View v = mListView.getAdapter().getView(index-mListView.getFirstVisiblePosition(), null, mListView); if (v==null){ return; } ImageView imageView = Objects.requireNonNull(v).findViewById(R.id.listview_image); imageView.setAlpha(0.2f); imageView.setVisibility(View.GONE); }例如:如果首选项包含“排名”,那么我想将 setAlpha(0.2f) 设置为列表视图中的位置 0 到 5。
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
根据您的代码,您需要将以下行添加到 getView 方法的末尾
自定义适配器列表视图
if (Objects.requireNonNull(preferences.getString("rank", "")).equalsIgnoreCase("Recruit")
&& position <= 5) //will check the item position
{
//setAlpha or do anything you want if the Rank is Recruit and position is lesser or equal to 5
holder.img.setAlpha(0.2f);
} else
{
//else do the remaining part
}
return view;
添加回答
举报
0/150
提交
取消