来自Software Engineering Stack Exchange的
This question was migrated,因为可以在Stack Overflow上进行回答。
Migrated 5年前。
这可能对许多人都有明显的答案,但我似乎无法弄清楚。我正在尝试在android应用程序中进行api调用,但是一直遇到“ .....无法解析”的问题。我有三个Java类,FoodSearchActivity,GetItemsActivity和GetData!
此类声明以下内容
但是在
为了解决这个问题,我创建了一个新类
当我这样做时我没有错误,但是当我这样做时
我回到
它已经被宣布为公开。任何提示或建议都很好。如果需要可以发布源代码!
Migrated 5年前。
这可能对许多人都有明显的答案,但我似乎无法弄清楚。我正在尝试在android应用程序中进行api调用,但是一直遇到“ .....无法解析”的问题。我有三个Java类,FoodSearchActivity,GetItemsActivity和GetData!
FoodSearchActivity extends Activity;
此类声明以下内容
public ListView list;
public Button btnSearch;
public EditText txtFoodSearch;
但是在
GetItemsActivity
类中,除非我扩展txtFoodSearch
,否则无法解析FoodSearchActivity
。反过来,这意味着我无法实现AsyncTask
。当GetItemsActivity
实现了AsyncTask
时,出现错误: " The type AsyncTask<String,String,String> cannot be a superinterface of GetItemsActivity; a superinterface must be an interface"
GetItemsActivity extends FoodSearchActivity;
为了解决这个问题,我创建了一个新类
GetData
,它扩展了AsyncTask<String, String, String>
GetData extends AsyncTask<String, String, String>
当我这样做时我没有错误,但是当我这样做时
txtFoodSearch.getText().toString();
我回到
txtFoodSearch
无法解决。 txtFoodSearch
是一个EditText
字段,需要用户输入。我该如何更改,使txtFoodSearch
在其他类中可见?它已经被宣布为公开。任何提示或建议都很好。如果需要可以发布源代码!
最佳答案
尝试在分配给txtFoodSearch的公共声明之后加上static声明。这是因为static关键字在加载类时使txtFoodSearch之类的变量可全局访问。
因此,在其对应的类中声明了公共静态txtFoodSearch之后,您应该能够这样做:在任何其他类中访问Classname.txtFoodSearch来访问txtFoodSearch的内容。但是,请确保将包含txtFoodSearch的类声明为public。
10-07 12:51