80,351
社区成员
发帖
与我相关
我的任务
分享
<!-- main.xml -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listView" />
</LinearLayout>
<!-- item.xml -->
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_alignParentLeft="true"
android:id="@+id/pic"
android:layout_marginLeft="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"/>
<TextView
android:layout_toRightOf="@id/pic"
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:textColor="#000000"
android:text="demo"/>
<ImageView
android:layout_alignParentRight="true"
android:id="@+id/pic2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/tiger" />
</RelativeLayout>
package com.example.administrator.third;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AbsListView;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import java.util.AbstractList;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public class MainActivity extends Activity implements AdapterView.OnItemClickListener, AbsListView.OnScrollListener
{
ListView listView;
ArrayAdapter<String> arr_adapter;
SimpleAdapter simp_adapter;
List<Map<String, Object>> dataList;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
listView = (ListView)findViewById(R.id.listView);
String []arr_data = {"豆芽菜","大鲅鱼","大葱","咸鸭蛋" };
dataList = new ArrayList<Map<String,Object>>();
arr_adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr_data);
simp_adapter = new SimpleAdapter(
this,
getData(),
R.layout.item,
new String[]{"text","pic2", "pic"},
new int []{R.id.text, R.id.pic2, R.id.pic});
// listView.setAdapter(arr_adapter);
listView.setAdapter(simp_adapter);
listView.setOnItemClickListener(this);
listView.setOnScrollListener(this);
}
List<Map<String, Object>> getData()
{
for(int i = 0; i<20; i++ )
{
Map<String,Object> map = new HashMap<>();
map.put("text", "豆芽菜"+i);
map.put("pic2",R.drawable.tiger );
map.put("pic", R.mipmap.ic_launcher);
dataList.add(map);
}
return dataList;
}
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String text = listView.getItemAtPosition(position) + "";
Toast.makeText(this, "position = " + position + " text= "+ text, Toast.LENGTH_SHORT ).show();
}
int i =500;
public void onScrollStateChanged(AbsListView view, int scrollState)
{
switch (scrollState)
{
case SCROLL_STATE_FLING:
i++;
Log.i("4444","用户在手指离开屏幕之前,由于用力滑了一下,视图扔依靠惯性继续滑动");
Map<String, Object> map = new HashMap<String,Object>();
map.put("pic", R.mipmap.ic_launcher);
map.put("text", "增加项"+i);
dataList.add(map);
simp_adapter.notifyDataSetChanged();//通知 UI 线程
break;
case SCROLL_STATE_IDLE:
Log.i("4444", "视图已经停止滑动");
break;
case SCROLL_STATE_TOUCH_SCROLL:
Log.i("4444", "手指没有离开屏幕,视图正在滑动");
break;
}
}
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
{}
}