我正在开发一个安卓应用程序。我的应用程序包含一个具有两个编辑文本字段的活动。第一个编辑文本字段存储用户输入的标题,下一个编辑文本字段存储用户输入的关于用户刚刚输入的标题的故事或数据。这些条目被保存在数据库表中。
我试图制作一个搜索框,可以找到输入的条目。我为搜索框阅读了以下页面 http://android-helper.blogspot.in/2011/03/android-search-in-listview-example.html ,但在这里他们最初将所有列表项存储起来在一个字符串数组中。
我想从数据库中获取标题字段,当用户在搜索框中输入特定单词时,只应显示输入了该特定单词的那些标题。
这是我主要活动的部分代码,即日记活动。
public class DiaryActivity extends Activity implements OnClickListener,
OnItemClickListener {
public static final String ROW_ID = "row_id";
static long row_passed;
ImageButton add;
ListView list;
public static int position_item;
static long id_item_clicked;
SimpleCursorAdapter myAdapter;
DataHolder myDataHolder; // <-- database class
EditText Text;
static String title = "";
static String story = "";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initialiseVariables();
registerForContextMenu(list);
add.setOnClickListener(this);
}
@SuppressWarnings("deprecation")
private void initialiseVariables() {
// TODO Auto-generated method stub
add = (ImageButton) findViewById(R.id.addButton);
list = (ListView) findViewById(R.id.mylist);
try {
myDataHolder = new DataHolder(DiaryActivity.this);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
try {
myDataHolder.open();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
String error = e.toString();
Dialog d = new Dialog(this);
d.setTitle("Error");
TextView tv = new TextView(this);
tv.setText(error);
d.setContentView(tv);
d.show();
} finally {
Cursor c = myDataHolder.getAll();
c.moveToFirst();
// Log.d("Message", c.getString(1));
myAdapter = new SimpleCursorAdapter(DiaryActivity.this,
R.layout.mystoryholder, c, new String[] {
// get the date from the system
DataHolder.KEY_TITLE, DataHolder.KEY_DAY,
DataHolder.KEY_MONTH, DataHolder.KEY_YEAR },
new int[] { R.id.titleTag, R.id.tvDate, R.id.tvMonth,
R.id.tvYear });
list.setAdapter(myAdapter);
list.setOnItemClickListener(this);
myDataHolder.close();
}
}
如何从数据库中获取 title_fields 中的所有条目,并将它们转换为单独的字符串并将它们放入字符串数组中,因为一旦 title_fields 中的条目可以覆盖到字符串数组中,那么上面的页面示例才能用于进一步编码。