在Android应用搜索界面的问题 [英] problems with search interface in android app
本文介绍了在Android应用搜索界面的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好我想创建一个Android应用搜索界面。我也跟着Android开发者教程,但我仍然得到错误。我不知道我在哪里出了问题,请帮忙!我试图将搜索插件在我的应用程序的布局整合。下面是我迄今所做的:
的Manifest.xml
<?XML版本=1.0编码=UTF-8&GT?;
<清单的xmlns:机器人=http://schemas.android.com/apk/res/android
包=com.example.amazonsearch
安卓版code =1
机器人:=的versionName1.0> <用途-SDK
安卓的minSdkVersion =8
机器人:targetSdkVersion =17/> <应用
机器人:allowBackup =真
机器人:图标=@绘制/ ic_launcher
机器人:标签=@字符串/ APP_NAME
机器人:主题=@风格/ AppTheme>
<活动
机器人:名字=com.example.amazonsearch.MainActivity
机器人:标签=@字符串/ APP_NAME>
&所述;意图滤光器>
<作用机器人:名字=android.intent.action.MAIN/> <类机器人:名字=android.intent.category.LAUNCHER/>
&所述; /意图滤光器>
< /活性GT;
<! - 这是搜索的活动;它执行的搜索 - >
<活动机器人:名字=机器人SearchableActivity:launchMode =singleTop>
&所述;意图滤光器>
<作用机器人:名字=android.intent.action.SEARCH/>
&所述; /意图滤光器>
<元数据机器人:名字=android.app.searchable
机器人:资源=@ XML /搜索/>
< /活性GT; <! - 这个活动使搜索对话框启动搜索
在SearchableActivity - >
<活动机器人:名字=。OtherActivity>
<! - 使搜索对话框发送搜索,SearchableActivity - >
<元数据机器人:名字=android.app.default_searchable
SearchableActivity:机器人值= />
< /活性GT;
< /用途>< /清单>
MainActivity.java
包com.example.amazonsearch;进口android.os.Bundle;
进口android.app.Activity;
进口android.app.SearchManager;
进口android.content.Context;
进口android.view.Menu;
进口android.view.MenuInflater;
进口android.widget.SearchView;公共类MainActivity延伸活动{ @覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
}
@覆盖
公共布尔onCreateOptionsMenu(菜单菜单){
//从充气XML选项菜单
MenuInflater吹气= getMenuInflater();
inflater.inflate(R.menu.options_menu,菜单); //获取搜索查看并设置搜索的配置
SearchManager的SearchManager的=(SearchManager的)getSystemService(Context.SEARCH_SERVICE);
搜索查看搜索查看=(搜索查看)menu.findItem(R.id.menu_search).getActionView();
//假设当前的活动是搜索活动
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(假); //不要图标化的工具;默认情况下展开 返回true;
}}
SearchableActivity.java
包com.example.amazonsearch;进口android.app.ListActivity;
进口android.app.SearchManager;
进口android.content.Intent;
进口android.os.Bundle;
进口android.util.Log;公共类SearchableActivity扩展ListActivity { @覆盖
公共无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState); 的setContentView(R.layout.searchresults); 最终意图queryIntent = getIntent();
最后弦乐queryAction = queryIntent.getAction();
如果(Intent.ACTION_SEARCH.equals(queryAction)){
字符串searchKeywords = queryIntent.getStringExtra(SearchManager.QUERY);
Log.i(您输入searchKeywords);
}
}
}
searchable.xml
<?XML版本=1.0编码=UTF-8&GT?;
<搜索的xmlns:机器人=http://schemas.android.com/apk/res/android>
机器人:标签=@字符串/ app_label
机器人:提示=@字符串/ search_hint>
< /搜索>
这是以下错误:
[2013年4月21日16时03分36秒 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper]对于E分析器例外:\\工作区\\ AmazonSearch \\ AndroidManifest.xml中:元素类型的活动必须后跟属性规范>中或/>中。
[2013年4月21日16时03分36秒 - AmazonSearch]错误在一个XML文件:中止建设。
说明资源路径位置类型
menu_search不能得到解决或不是一个领域MainActivity.java / AmazonSearch / src目录/ COM /例子/ amazonsearch 28行Java问题说明资源路径位置类型
options_menu不能得到解决或不是一个领域MainActivity.java / AmazonSearch / src目录/ COM /例子/ amazonsearch线24 Java问题说明资源路径位置类型
SearchResult所不能得到解决或不是一个领域SearchableActivity.java / AmazonSearch / src目录/ COM /例子/ amazonsearch线15 Java问题
解决方案
您搜索有两个右括号。试试这个
<?XML版本=1.0编码=UTF-8&GT?;
<搜索的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:标签=@字符串/ app_label
机器人:提示=@字符串/ search_hint>
< /搜索>
Hi I am trying to create the search interface for an android app. I have followed the android developers tutorial but I'm still getting errors. I don't know where I have gone wrong, please help! I'm trying to integrate a search widget in the layout of my app. Below is what I have done so far:
Manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.amazonsearch"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.amazonsearch.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<!-- this is the searchable activity; it performs searches -->
<activity android:name=".SearchableActivity" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<!-- this activity enables the search dialog to initiate searches
in the SearchableActivity -->
<activity android:name=".OtherActivity" >
<!-- enable the search dialog to send searches to SearchableActivity -->
<meta-data android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
</activity>
</application>
</manifest>
MainActivity.java
package com.example.amazonsearch;
import android.os.Bundle;
import android.app.Activity;
import android.app.SearchManager;
import android.content.Context;
import android.view.Menu;
import android.view.MenuInflater;
import android.widget.SearchView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the options menu from XML
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
// Get the SearchView and set the searchable configuration
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
// Assumes current activity is the searchable activity
searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
searchView.setIconifiedByDefault(false); // Do not iconify the widget; expand it by default
return true;
}
}
SearchableActivity.java
package com.example.amazonsearch;
import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class SearchableActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.searchresults);
final Intent queryIntent = getIntent();
final String queryAction = queryIntent.getAction();
if (Intent.ACTION_SEARCH.equals(queryAction)) {
String searchKeywords = queryIntent.getStringExtra(SearchManager.QUERY);
Log.i("YOU ENTERED", searchKeywords);
}
}
}
searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android" >
android:label="@string/app_label"
android:hint="@string/search_hint" >
</searchable>
These are the following errors:
[2013-04-21 16:03:36 - com.android.ide.eclipse.adt.internal.project.AndroidManifestHelper] Parser exception for E:\Workspace\AmazonSearch\AndroidManifest.xml: Element type "activity" must be followed by either attribute specifications, ">" or "/>".
[2013-04-21 16:03:36 - AmazonSearch] Error in an XML file: aborting build.
Description Resource Path Location Type
menu_search cannot be resolved or is not a field MainActivity.java /AmazonSearch/src/com/example/amazonsearch line 28 Java Problem
Description Resource Path Location Type
options_menu cannot be resolved or is not a field MainActivity.java /AmazonSearch/src/com/example/amazonsearch line 24 Java Problem
Description Resource Path Location Type
searchresults cannot be resolved or is not a field SearchableActivity.java /AmazonSearch/src/com/example/amazonsearch line 15 Java Problem
解决方案
Your searchable has two closing brackets. Try this
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_label"
android:hint="@string/search_hint" >
</searchable>
这篇关于在Android应用搜索界面的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文