import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.*;
import java.util.ArrayList;
import java.util.List;
public class QueryActivity extends Activity {
private Button btnBack, btnFind;
private ListView resultList;
private List<ResultItem> listData = new ArrayList<ResultItem>();
private EditText edtContent;
private ResultListAdapter adapter;
private TextView tvInf;
private Dao dao;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_query);
btnBack = (Button) findViewById(R.id.quety_btn_back);
btnFind = (Button) findViewById(R.id.quety_btn_find);
resultList = (ListView) findViewById(R.id.query_result_list);
edtContent = (EditText) findViewById(R.id.query_edt);
adapter = new ResultListAdapter(listData);
tvInf = (TextView) findViewById(R.id.query_inf);
edtContent.addTextChangedListener(watcher);
resultList.setAdapter(adapter);
resultList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//Intent intent = new Intent(getApplicationContext(),EditActivity.class);
//startActivity(intent);
}
});
}
private TextWatcher watcher = new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String content = s.toString();
listData.clear();
listData.addAll(dao.findResult(content));
if(listData.size()==0){
tvInf.setVisibility(View.VISIBLE);
}else{
tvInf.setVisibility(View.GONE);
}
adapter.notifyDataSetChanged();
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
};
}
public class ResultItem {
private String title;
private String date;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public ResultItem(String title, String date) {
this.title = title;
this.date = date;
}
}
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.List;
/**
* Created by 1530113 on 5/23/2016.
*/
public class ResultListAdapter extends BaseAdapter {
private List<ResultItem> listData;
private Context context;
@Override
public int getCount() {
return 0;
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
ViewHolder holder = null;
if (view == null) {
holder = new ViewHolder();
view = LayoutInflater.from(context).inflate(R.layout.query_result_list_item, null);
holder.content = (TextView) view.findViewById(R.id.query_item_content);
holder.date = (TextView) view.findViewById(R.id.query_item_date);
holder.content.setText(listData.get(i).getTitle());
holder.date.setText(listData.get(i).getDate());
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
return view;
}
public ResultListAdapter(List<ResultItem> listData,Context context) {
this.listData = listData;
this.context = context;
}
private static class ViewHolder {
TextView content;
TextView date;
}
}