2016-05-08 3 views
0

У меня есть способ, как указано ниже, хотел бы установить заголовок ActionBar из этого метода, чтобы я мог получить доступ к «позиции».Как установить заголовок ActionBar из метода getView внутри baseAdapter

@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; 
    } 

EDIT

Внутри OnCreate у меня есть это:

Sms currMsg   = (Sms) msgList.get(1); 

Но там, где есть "1", должна быть позиция содержится в указанном выше способе.


Это можно сделать здесь? Если да, то как мне это заняться? Или какие-то альтернативы?

+0

Что вы хотите? Почему вы задали заголовок панели действий в * списке *? Название будет постоянно меняться при прокрутке –

+0

, почему вы пытаетесь сделать это из метода getView? не имеет смысла !! – varunkr

+0

@DavidMedenjak Я хочу получить доступ к «позиции», я не знаю, как получить к нему доступ из onCreate AppCompatActivity. Я хочу изменить заголовок, когда каждый элемент кликается по списку. – 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()); 
    } 
}); 
Смежные вопросы