Android ListView簡單使用
阿新 • • 發佈:2018-11-16
使用ArrayAdapter作為ListView的介面卡,定時往ListView新增Item
package com.example.admin.testproj;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget. ListView;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.TimerTask;
import java.util.Timer;
public class TestListViewActivity extends AppCompatActivity implements View.OnClickListener {
private ArrayList<String> data = new ArrayList<String>(Arrays.asList("Apple" ,"Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango","Banana","Orange","Watermelon","Pear","Grape","Pineapple","Strawberry","Cherry","Mango","Banana","Orange","Watermelon","Pear" ,"Grape","Pineapple","Strawberry","Cherry","Mango"));
private int itemNum = 0;
private ArrayAdapter<String> adapter;
ListView listView;
//定時器
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
switch (msg.what){
case 0:
addNewItem();
break;
}
}
};
Timer timer = new Timer();
TimerTask task = new TimerTask() {
@Override
public void run() {
Message msg = new Message();
msg.what = 0;
msg.obj = 0;
handler.sendMessage(msg);
}
};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_test_list_view);
setTitle("TestListView");
adapter = new ArrayAdapter<String>(this,R.layout.support_simple_spinner_dropdown_item,data);
listView =(ListView)findViewById(R.id.listView);//設定介面卡
listView.setAdapter(adapter);
findViewById(R.id.Add).setOnClickListener(this);
listView.smoothScrollToPosition(data.size());
//啟動定時器
timer.schedule(task,0,5000);
}
@Override
public void onClick(View view){
if(view.getId() == R.id.Add){
addNewItem();
}
}
public void addNewItem(){//新增Item
while (data.size() > 100){
data.remove(0);
}
data.add("New Item " + String.valueOf(itemNum++));
adapter.notifyDataSetChanged();
listView.smoothScrollToPosition(data.size());
}
}