我创建了一个数据库应用程序,用户可以在其中搜索电影。然后,应用程序将在ScrollView中返回此搜索的结果。然后,我希望这些搜索结果可以点击,这将导致另一页显示所选电影的完整详细信息。做这个的最好方式是什么?
public void search(View v){
EditText search = (EditText)findViewById(R.id.edtSearch);
String searchresult = "%" + search.getText().toString() + "%";
db = new DbHelper(this).getReadableDatabase();
String[] tblColumns = {"*"};
String where = "film LIKE ? OR actor LIKE ? OR actor2 LIKE ? OR director LIKE ?";
String[] args = {searchresult, searchresult, searchresult, searchresult};
Cursor results = db.query("FILMTABLE", tblColumns, where, args, null, null, null);
film(results);
}
public void film (Cursor c){
c.moveToFirst();
int titleIndex = c.getColumnIndex("film");
int idIndex = c.getColumnIndex("id");
String title = c.getString(titleIndex);
int filmID = c.getInt(idIndex);
TextView txt = new TextView(getApplicationContext());
txt.setId(filmID);
txt.setText(title);
txt.setTextColor(Color.BLACK);
txt.setTextSize(15);
ScrollView scrollView = (ScrollView)findViewById(R.id.scrolLView);
scrollView.addView(txt);
}
答案 0 :(得分:1)
在arraylist中过滤搜索结果,并使用listview显示结果。然后实现listview.setOnItemClickListner。
请遵循:http://www.javacodegeeks.com/2013/06/android-listview-tutorial-and-basic-example.html
答案 1 :(得分:0)
Android中的每个小部件都是可点击的对象。您可以根据需要格式化结果,可能在ListView中,并将每个onClick
属性设置为单击时需要执行的Java中的任何函数。如果它们都运行相同,您可以在整个列表中放置一个单击侦听器。如果它们打算以不同的方式运行(更可能的情况),您可以使用上面的方法为列表中的每个元素单独分配方法。