我正在使用 The Complete Idiots Guide to Android App Development 来帮助我入门。我一直在努力阅读这本书,并且遇到了一个我不明白的问题。我正在创建一个搜索类以向应用程序添加搜索功能。我在 Eclipse 中遇到了多个错误,我最不理解的一个是“语法错误,插入“}”以完成 ClassBody”。我知道 Eclipse 告诉我关闭类主体,但它已关闭。只是没有告诉我关闭它。在它告诉我关闭它的下方,我有另一种输入方法。
这是整个班级的代码。
package com.recipesapp;
import java.util.ArrayList;
import android.app.ListActivity;
import android.app.SearchManager;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.widget.ListView;
public class RecipeSearch extends ListActivity{
@Override
public void onCreate(Bundle savedInstanceState){
//super.onCreate(savedInstanceState);
setContentView(R.layout.recipe_list);
Intent intent = getIntent();
if(Intent.ACTION_VIEW.equals(intent.getAction())){
//A search suggestion was clicked
Intent recipeIntent = new Intent(this, RecipeEntry.class);
recipeIntent.setData( intent.getData() );
startActivity(recipeIntent);
finish();
}
else if(Intent.ACTION_SEARCH.equals(intent.getAction())){
//The search was executed
String query = intent.getStringExtra(SearchManager.QUERY);
showRecipes(query);
}
}
private static final ArrayList<String> _RecipeSearchResults = new ArrayList<String>();
private ListView resultsView;
private void showRecipes(query){
SharedPreferences recipeNames = getSharedPreferences(MainMenu.RecipeNamesPref, RecipeEntry.MODE_WORLD_READABLE);
String[] recipeList= recipeNames.getString(MainMenu.RecipeNamesPref, null).split(",");
for(String recipe: recipeList){
if(recipe.contains(query))
ReicpeSearchResults.add(recipe);
resultsView=(ListView) findViewById(android.R.id.list);
resultsView.setAdapter(new ListViewAdapter(this));
resultsView.setTextFilterEnabled(true);
resultsView.setOnItemClickListener(this);
}
}
}
我知道还有其他错误,但我无法弄清楚这一点。我已经通过并看到我有所有的大括号,打开和关闭。我不明白它为什么要放入第 35 行,即:
private ListView resultsView;
此外,它希望我也删除最后一个大括号。我将不胜感激任何帮助。