【发布时间】:2014-04-18 19:53:29
【问题描述】:
首先很抱歉,如果我是 android 和 java 的新手,并且仍然想为我的论文实现一些关于我正在创建的应用程序的东西,我只希望它在操作栏中有一个搜索视图,以便搜索某个活动搜索我的自定义列表视图中的相应字母或单词......我不知道在“doMySearch(字符串查询)”中放入什么以获得结果。
SearchResultsActivity.java
import android.app.ActionBar;
import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class SearchResultsActivity extends ListActivity {
private TextView txtQuery;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search_results);
// get the action bar
ActionBar actionBar = getActionBar();
// Enabling Back navigation on Action Bar icon
actionBar.setDisplayHomeAsUpEnabled(true);
txtQuery = (TextView) findViewById(R.id.txtQuery);
handleIntent(getIntent());
}
@Override
protected void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
/**
* Handling intent data
*/
private void handleIntent(Intent intent) {
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doMySearch(query);
txtQuery.setText("Search Query: " + query);
}
}
private void doMySearch(String query) {
// TODO Auto-generated method stub
ArrayAdapter<String> adapter =new ArrayAdapter<String>(this, R.layout.subject_list_layout, R.id.subject_course_title_row);
return adapter;
}
}
Searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="@string/search_hint"
android:label="@string/app_name" />
Manifest.xml
<!-- Sample Search -->
<activity
android:name="com.randomlyroaming.com.loaopencourseware.courses.BSIT"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" >
<meta-data
android:name="android.app.default_searchable"
android:value=".SearchResultsActivity" />
</activity>
<!-- Search results activity -->
<activity
android:name=".SearchResultsActivity"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
请帮助...它已经重定向到 "txtQuery.setText("Search Query: " + query);" 但没有结果...我需要在方法“doMySearch(query);”中添加一些东西吗?我可以把它放在那里让它工作吗?..
谢谢您,非常感谢您的帮助...
【问题讨论】:
-
doMySearch()中没有任何代码。什么都不会发生。TextView是否显示您在搜索框中输入的内容?另外,setIntent()是做什么的?你能展示一下那个方法吗 -
是的,它显示了我在搜索框中输入的内容,我的问题是我不知道我应该在 doMysearch 中输入什么代码,因为我真的找不到任何关于它的教程,我有我的 customListview和适配器,我不知道如何在那里编码。对不起,路易斯先生是新手
-
您能更具体地说明您想要什么吗?适配器中有什么?你在
ListView中填充了一个数组吗?您想在搜索单词时更改适配器吗? -
路易斯爵士,您好,我有一个已经从列表视图中填充的数组。我想要的是当我搜索某个单词时,它应该填充与您在搜索操作栏中键入的单词相似的内容......例如。我现在正在寻找一个包含 50 个学校科目名称的列表视图,然后我点击放大镜以搜索学校科目的名称,当我按 Enter 时,我应该得到与我在列表视图中输入的相似名称...对不起,我希望我有道理......
标签: android android-actionbar searchview