2016-05-08 102 views
0

我有一個方法如下,想從這個方法設置一個ActionBar標題,所以我可以訪問「位置」。如何從baseAdapter中的getView方法設置ActionBar標題

@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

你想幹什麼?爲什麼要將操作欄標題設置爲*列表*?爲什麼你試圖從getView方法中做到這一點,標題會不斷變化滾動 –

+0

?沒有意義! – varunkr

+0

@DavidMedenjak我想訪問「位置」,我不知道如何從AppCompatActivity的onCreate訪問它。我想在列表中單擊每個項目時更改標題。 – Relm

回答

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()); 
    } 
}); 
相關問題