ListView
을 새로 고치기위한 this 자습서를 참조하고 있으며 효과가 있습니다. 하지만 문제는 내가 하나의 Layout
위의 ListView
내 응용 프로그램을 실행할 때 Listview
그 위에 덮어 쓰다 Layout
. 나는 그 레이아웃을 ListView
에 대한 헤더로 만들지 만 새로운 문제가 발생하는 것을 피하기 위해. 목록이 비어 있으면 ListView
Header
도 표시되지 않습니다. 나는 또한 Adapter
에서 isEmpty()를 사용하여 여전히 Header
을 표시하지 않습니다.PullToRefreshLayout을 사용하는 동안 목록보기 헤더를 표시합니다.
등급 :
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LayoutInflater layoutInflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
activityView = layoutInflater.inflate(R.layout.groups_activity_layout, null, false);
setContentView(activityView);
/******************************************************************************/
ViewGroup viewGroup = (ViewGroup) activityView;
// As we're using a ListFragment we create a PullToRefreshLayout manually
mPullToRefreshLayout = new PullToRefreshLayout(ItemscreenActivity.this);
// We can now setup the PullToRefreshLayout
ActionBarPullToRefresh.from(this)
// We need to insert the PullToRefreshLayout into the Fragment's ViewGroup
.insertLayoutInto(viewGroup)
// Here we mark just the ListView and it's Empty View as pullable
.theseChildrenArePullable(R.id.listView_demo_Items_gsal, android.R.id.empty).listener(this).setup(mPullToRefreshLayout);
/******************************************************************************/
arrayListOfAItems.clear();
populateItemsArrayList(ItemscreenActivity.this);
ItemsListWrtCnt++;
// Getting the reference of Button and ListView
listViewOfItems = (ListView) findViewById(R.id.listView_demo_Items_gsal);
// Get Data in Adapter to set on ListView
ItemscreenActivityAdapter = new ItemscreenAdapter(ItemscreenActivity.this, R.layout.group_screen_adapter_layout, arrayListOfAItems);
listViewOfItems.setTextFilterEnabled(false);
listViewOfItems.setScrollingCacheEnabled(false);
listViewOfItems.setCacheColorHint(Color.TRANSPARENT);
LayoutInflater inflater = getLayoutInflater();
ViewGroup header = (ViewGroup) inflater.inflate(R.layout.group_activity_listview_header, listViewOfItems, false);
listViewOfItems.addHeaderView(header, null, false);
listViewOfItems.setEmptyView(header);
listViewOfItems.setVisibility(View.VISIBLE);
if (arrayListOfAItems.size() > 0) {
// Set Adapter to ListView of group if there are Items
ItemscreenActivityAdapter.notifyDataSetChanged();
listViewOfItems.setAdapter(ItemscreenActivityAdapter);
ItemsListWrtCnt--;
} else {
// Show Toast if no group to display
Toast.makeText(ItemscreenActivity.this, "No Items", Toast.LENGTH_SHORT).show();
}
}
XML :
당신이해야 할 일은<?xml version="1.0" encoding="utf-8"?>
<com.oi.demo.actionbarpulltorefresh.library.PullToRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout_Items"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/white"
android:orientation="vertical"
tools:ignore="UselessParent" >
<ListView
android:id="@+id/listView_demo_Items_gsal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/view_layout_footer_gsal"
android:animationCache="false"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:persistentDrawingCache="scrolling"
android:scrollbarStyle="outsideOverlay"
android:scrollbars="vertical"
android:scrollingCache="false"
android:smoothScrollbar="true" />
<View
android:id="@+id/view_layout_footer_gsal"
android:layout_width="fill_parent"
android:layout_height="5dp"
android:layout_gravity="bottom"
android:background="#952d4a" />
</com.oi.demo.actionbarpulltorefresh.library.PullToRefreshLayout>
xml 파일 코드를 게시하십시오. 또한 목록 뷰에 바인딩 데이터 코드를 표시하십시오. – GrIsHu
@GrlsHu 내 코드를 추가하십시오 .. – Akshay
@Akki이 android : layout_height = "wrap_content"를 android : layout_height = "match_parent"'로 변경해보고 도움이되는지 확인해보십시오. 내 최선의 추측) – kha