我制作了一个Android音乐应用程序,一切正常。我没有在动作栏上搜索,而是决定制作搜索音乐的布局。我尝试过在线搜索各种教程,但都没有达到我希望它发生的方式,所以如果有人直接指导我如何实现在应用程序内搜索音乐本身,非常感谢
答案 0 :(得分:0)
您需要使用搜索小部件,您可以将其放置在布局中的任何位置。 这是一个简单的教程:http://www.viralandroid.com/2016/04/simple-android-searchview-example.html
来自Android文档:https://developer.android.com/guide/topics/search/search-dialog.html
搜索小部件是SearchView的一个实例,您可以将其放置在布局中的任何位置。默认情况下,搜索窗口小部件的行为类似于标准的EditText窗口小部件,但不执行任何操作,但您可以对其进行配置,以便Android系统处理所有输入事件,将查询提供给相应的活动,并提供搜索建议(就像搜索一样)对话框)。
答案 1 :(得分:0)
首先在您的“活动”和SearchView
中声明您的implements SearchView.OnQueryTextListener
,然后使用onQueryTextChange
方法处理您的搜索过程。
@Override
public boolean onQueryTextChange(String query) {
//get search query from searchView
String mquery = query.toLowerCase();
if(songArr.length() != 0 && songArr != null)
{
final JSONArray mArr= new JSONArray();
for (int i = 0; i < songArr.length(); i++) {
try {
String text = songArr.getJSONObject(i).getString("SongName").toLowerCase();
if (text.contains(mquery)) {
mArr.put(songArr.getJSONObject(i));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
yourAdapter = new YourAdapter(YourActivity.this, mArr, this);
recyclerView.setAdapter(yourAdapter);
mScrollAdapter.notifyDataSetChanged(); // data set changed
return true;
}
return false;
}