2013-12-25 2 views
0

Может ли кто-нибудь знать, как я могу сделать что-то подобное в ListView?Показать/скрыть кнопку в Android-браузере listview,

Когда элемент в ListView щелкнул по значку мыши, вы увидите его.

http://img850.imageshack.us/img850/2377/is4t.png

Затем выберите другой элемент и элемент previus, что вы щелкнули получить невидимы, и фактический элемент получить изображение кнопки видимым.

http://img14.imageshack.us/img14/1920/lnpy.png

Я искал об этом, но я не нашел что-то, чтобы работать именно я хочу. И я попытался сделать кнопку видимой наItemClick для этого вида, но, когда я нажимаю другую кнопку, элемент previus все еще отображается. Я попытался сделать notifyDataBaseChanged, но все еще там. Спасибо за помощь и извините за мой плохой английский.

¿Как я могу получить доступ к предыдущему представлению элемента, чтобы установить кнопку на View.GONE? Код:

listView.setOnItemClickListener(new OnItemClickListener() { 


     @Override 
     public void onItemClick(AdapterView<?> arg0, View view, int position, 
       long arg3) { 
      // TODO Auto-generated method stub 
      MPlayer.playSong(position); 
      Button bPlaying = (Buttton)view.findViewById(R.id.button1); 
      bPlaying.setVisibility(View.VISIBLE); 
      ca.notifyDataSetChanged(); 
     } 
    }); 
+0

Вы уже почти рабочий раствор. Все, что вам нужно, это скрыть еще один значок. Вы должны скорее написать код, который вы попробовали, и задать конкретный вопрос. – vorrtex

+0

Да, но вопрос в том, как я могу получить доступ к предыдущему виду, чтобы скрыть эту кнопку? – Ionel

+0

Возможно, вам потребуется включить другую переменную, представляющую последнее представление, к которому вы добавили значок. – csmckelvey

ответ

7

Не самое лучшее решение, но надеюсь, что это может помочь вам решить вам проблему

private Button previousButton = null;  
listView.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) { 
     MPlayer.playSong(position); 
     if(previousButton != null){ 
      previousButton.setVisibility(View.GONE); 
     } 
     Button bPlaying = (Buttton)view.findViewById(R.id.button1); 
     bPlaying.setVisibility(View.VISIBLE); 
     previousButton = bPlaying; 
     ca.notifyDataSetChanged(); 
    } 
}); 
Смежные вопросы