80,362
社区成员
发帖
与我相关
我的任务
分享
package tw.a05.com.flag.ch15_addresslist;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SearchView;
import android.widget.TextView;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener, android.widget.SearchView.OnQueryTextListener{
private String str;
private String year;
private String month;
private String day;
static final String db_name="AddressDB";
static final String tb_name="Address";
static final String[] From=new String[]{"name"};
static final String[] From1=new String[]{"name","phone","telephone","address","updatetime"};
TextView tv;
EditText et;
SQLiteDatabase db;
Cursor cur;
SimpleCursorAdapter adapter;
ListView lv;
SearchView srv;
Calendar c=Calendar.getInstance();
int num=0;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
year = Integer.toString(c.get(Calendar.YEAR));
month = Integer.toString(c.get(Calendar.MONTH));
day = Integer.toString(c.get(Calendar.DAY_OF_MONTH));
str = year + "-" + month + "-" + day;
et = (EditText) findViewById(R.id.etName);
lv = (ListView) findViewById(R.id.lv);
srv = (SearchView) findViewById(R.id.srv);
db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE, null);
String createtable = "create table if not exists " + tb_name +
"(_id Integer primary key autoincrement, " +
"name varchar(32), " +
"phone varchar(32), " +
"telephone varchar(32), " +
"address varchar(120), " +
"updatetime varchar(120))";
db.execSQL(createtable);
cur = db.rawQuery("select _id,name from " + tb_name, null);
if (cur.getCount() == 0) {
addData("张三", "13855556675", "06-23562525", "中国台北市", str.toString());
addData("陈刚", "13755556685", "01-23562525", "中国高雄市", str.toString());
addData("何杰", "13655556696", "04-23562525", "中国淡水市", str.toString());
addData("王强", "13555556634", "07-23562525", "中国台南市", str.toString());
addData("李丽", "13855556622", "08-23562525", "中国台中市", str.toString());
addData("林芳", "13855556656", "03-23562525", "中国台东市", str.toString());
}
//adapter=new SimpleCursorAdapter(this,R.layout.item,cur,From1,new int[]{R.id.etName,R.id.etPhone,R.id.etTelephone,R.id.etAddress,R.id.etUpdatetime},0);
adapter = new SimpleCursorAdapter(this, R.layout.item, cur, From, new int[]{R.id.etName}, 0);
lv.setAdapter(adapter);
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(this);
srv.setOnQueryTextListener(this);
requery();
//-----------------------//
}
private void addData(String name,String phone,String telephone,String address,String datetime)
{
ContentValues cv=new ContentValues(5);
cv.put(From1[0],name);
cv.put(From1[1],phone);
cv.put(From1[2],telephone);
cv.put(From1[3],address);
cv.put(From1[4],datetime);
db.insert(tb_name,null,cv);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id)
{
String name=null;
cur.moveToPosition(position);
num=Integer.parseInt(cur.getString(cur.getColumnIndex("_id")).toString());
name=cur.getString(cur.getColumnIndex("name"));
Intent it=new Intent(this,List.class);
it.putExtra("id",num);
it.putExtra("name",name);
startActivity(it);
}
private void requery()
{
cur=db.rawQuery("select _id,name,phone,telephone,address,updatetime from "+tb_name,null);
adapter.changeCursor(cur);
adapter.notifyDataSetChanged();
//txName.setText(cur.getString(cur.getColumnIndex("name")).toString());
//txPhone.setText(cur.getString(cur.getColumnIndex("phone")).toString());
//txAddress.setText(cur.getString(cur.getColumnIndex("address")).toString());
}
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText)
{
// TODO Auto-generated method stub
// Toast.makeText(MainActivity.this, "1111", Toast.LENGTH_LONG).show();
if(newText.length()!=0)
{
lv.setFilterText(newText);
}
else
{
lv.clearTextFilter();
}
adapter.notifyDataSetChanged();
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}