我试图在循环中使用 LayoutInflater,但每次实例化其中一个时,我需要修改至少 2 个在每个实例化中找到的 TextView。我目前拥有的东西适本地实例化并添加膨胀的 xml View ,就像我想要的那样,但结果是只有第一个 instatiaton 的资源被修改,因此它被多次覆盖。
LayoutInflater inflater;
TextView eTitle;
for(String[] episode : episodes) {
//Log.d("Episodes", episode[0] + " / " + episode[2]);
inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.episode_list_item, listView);
eTitle = (TextView) findViewById(R.id.episode_list_item_title);
eTitle.setText(episode[2]);
}
我的列表的示例输出:
- 04 - 第 04 集
- 剧集标题
- 剧集标题
- 剧集标题
它应该看起来像这样:
- 01 - 第 01 集
- 02 - 第 02 集
- 03 - 第 03 集
- 04 - 第 04 集
我需要做什么来确保我从我的膨胀布局中获得相应的唯一 TextView ID?
最佳答案
为什么不使用 ListView 呢?
LayoutInflater inflater = inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
for(String[] episode : episodes) {
View view = inflater.inflate(R.layout.episode_list_item, null);
mTitle = (TextView) view.findViewById(R.id.episode_list_item_title);
mTitle.setText(episode[2]);
listView.addView(view);
}
关于Android:LayoutInflater 和 findViewById 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8956002/