更新时间:2022-05-07 03:28:56
只需将适配器作为类变量并在onCreate(..)
中设置适配器
在到达ListView的末尾并更新列表视图时,只需清除my_array.clear();
,然后向其中添加数据并通知Listview适配器.
Just take the adapter as a class variable and set the adapter in onCreate(..)
and when you are reaching the end of ListView and updating the list view, just clear the my_array.clear();
then add data to it and notify the Listview adaapter.
示例代码:
Class myclass extends Activity
{
private ListviewAdapter adapter;
private ArrayList<String> my_array;
onCreate(...)
{
//Fill Values in the Array
my_array.add(...);
adapter = new ListviewAdapter(MainActivity.this, my_array);
list.setAdapter(adapter);
....
//In your onScrollListener() of the list make the following changes
list.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView arg0, int arg1) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, final int totalItemCount) {
if (totalItemCount > 0)
{
int lastInScreen = firstVisibleItem + visibleItemCount;
if(lastInScreen == totalItemCount)
{
my_array.clear();
//Add the values in you Array here.
my_array.add(....)
//Notify the adapter about the data set change.
adapter.notifyDatasetChanged();
}
}
}
});
编辑
对于列表视图内未检测到的按钮单击"问题.
只需在自定义列表视图的布局文件中设置onClick属性即可.
EDIT
For your undetected Button Clicks problem inside the list view.
Just set onClick attribute in the custom listview's layout file.
<Button
......
android:onClick="btnRemoveClick"
/>
并在您的onClick方法中,执行点击事件.
and in your onClick method, do the Implementation of click events.
public void btnRemoveClick(View v)
{
//get the position of the button here
final int position = listviewItem.getPositionForView((View) v.getParent());
}
P.S:您需要将ListView对象设置为类变量.
P.S: you need to set the ListView object as a class variable.