有人可以帮我找出如何将ImageView作为标题添加到ListView吗?
我的代码在这里:
LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View snapshot = inflater.inflate(R.layout.map_snapshot, null);
ListView channelsList = (ListView) findViewById(R.id.channelsList);
channelsList.addHeaderView(snapshot);
到现在它什么都没有显示。
答案 0 :(得分:7)
尝试通过父(ListView)作为参数膨胀标题视图:
ListView channelsList = (ListView) findViewById(R.id.channelsList);
View snapshot = inflater.inflate(R.layout.map_snapshot, channelList, false);
然后,只需将其添加到ListView:
channelsList.addHeaderView(snapshot);
答案 1 :(得分:0)
您可以使用CommonsWare MergeAdapter或SectionedListAdapter。使用此库,您可以在View
中使用任何Listview
作为标题。有关详细信息,请参阅this SO question和接受的答案。
答案 2 :(得分:0)
尝试:
ListView channelsList = (ListView) findViewById(R.id.channelsList);
LayoutInflater inflater = getLayoutInflater();
ViewGroup header = (ViewGroup)inflater.inflate(R.layout.map_snapshot, channelsList , false);
channelsList .addHeaderView(header, null, false);
答案 3 :(得分:0)
在布局map_snapshot中,您必须具有父布局,因为我已采用线性布局同样采用它。
ListView channelsList = (ListView) findViewById(R.id.channelsList);
LinearLayout headerView = (LinearLayout) getLayoutInflater().inflate(R.layout.map_snapshot, null);
listView.addHeaderView(headerView);
如果要在布局中添加视图:
TextView mUsername=(TextView) headerView.findViewById(R.id.user_name);