我有一个方法如下,想从这个方法设置一个ActionBar标题,这样我就可以访问" position"。
@Override
public View getView(int position, View convertView, ViewGroup parent){
View songLay = convertView;
if (convertView == null) {
songLay = songInf.inflate(R.layout.chat, parent, false);
TextView body = (TextView) songLay.findViewById(R.id.msg_body);
Sms currSong = songs.get(position);
body.setText(currSong.getMsg());
}
songLay.setTag(position);
//new Chat().setTitle("lol");
return songLay;
}
修改
在onCreate里面我有这个:
Sms currMsg = (Sms) msgList.get(1);
但是在那里" 1",应该是在上述方法中找到的位置。
这可以在这里完成吗?如果是这样我该如何去做呢?还是其他选择?
答案 0 :(得分:0)
您可以这样做:
ListView lv = ...;
final MyAdapter adapter = ....;
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
ListItem item = adapter.getItem(position);
MainActivity.this.setTitle(item.getName());
}
});