#android #listview #android-listview
#Android #listview #android-listview
Вопрос:
У меня проблема в моем коде, setOnScrollListener, похоже, никогда не вызывается, потому что при прокрутке мой relativelayout не скрывается, и я не вижу журналы в logcat.
Вот мой код :
list = (ListView)findViewById(R.id.accountview_listview);
adapter = new Account_view_custom_adapter(Account_view_act.this, annoncesList);
list.setAdapter(adapter);
adapter.notifyDataSetChanged();
registerForContextMenu(list);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
list.showContextMenuForChild(view);
}
});
list.setOnScrollListener(new OnScrollListener() {
int mPosition=0;
int mOffset=0;
RelativeLayout relative1 = (RelativeLayout) findViewById(R.id.relative1);
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
// TODO Auto-generated method stub
int position = list.getFirstVisiblePosition();
View v = list.getChildAt(0);
int offset = (v == null) ? 0 : v.getTop();
if (mPosition < position || (mPosition == position amp;amp; mOffset < offset)){
// Scrolled up
Log.d("INFO", "UP");
relative1.setVisibility(View.GONE);
} else {
// Scrolled down
Log.d("INFO", "DOWN");
relative1.setVisibility(View.VISIBLE);
}
}
});
Комментарии:
1. есть ли у вас какой-либо ScrollView или какой-либо макет, реализующий прокрутку, улавливающую ваш listview?
2. @PedroHawk Нет, ничего.
3. @PedroHawk та же проблема со мной .. когда я прокручиваю элементы listview, которые сначала не доступны для просмотра, при повторном нажатии это работает.мой listview внутри вложенного scrollview .. и я также использовал setListViewHeightBasedOnChildren …….. Помоги мне выбраться
4. Спасибо @PedroHawk, я решил это, удалил свой вложенный scrollview, и это сработало… спасибо за руководство 🙂