Java 继承和扩展类
这对许多人来说可能有一个明显的答案,但我似乎不明白。我试图在android应用程序中调用api,但一直遇到“……无法解决”我有三个Java类,FoodSearchActivity、GetItemsActivity和GetDataJava 继承和扩展类,java,android,inheritance,extensibility,Java,Android,Inheritance,Extensibility,这对许多人来说可能有一个明显的答案,但我似乎不明白。我试图在android应用程序中调用api,但一直遇到“……无法解决”我有三个Java类,FoodSearchActivity、GetItemsActivity和GetData FoodSearchActivity extends Activity; 此类声明如下 public ListView list; public Button btnSearch; public EditText txtFoodSearch; 但是在GetItem
FoodSearchActivity extends Activity;
此类声明如下
public ListView list;
public Button btnSearch;
public EditText txtFoodSearch;
但是在GetItemsActivity
类中,除非扩展FoodSearchActivity
,否则无法解析txtFoodSearch
。这反过来意味着我无法实现AsyncTask
。当GetItemsActivity
实现了AsyncTask
时,我得到了错误:
" The type AsyncTask<String,String,String> cannot be a superinterface of GetItemsActivity; a superinterface must be an interface"
GetItemsActivity extends FoodSearchActivity;
当我这样做的时候,我没有错误,但是当我这样做的时候
txtFoodSearch.getText().toString();
我回到了无法解决的txtFoodSearch
txtFoodSearch
是一个接受用户输入的EditText
字段。如何更改此设置,以便txtFoodSearch
在其他类中可见??
它已经被宣布为公共的。任何提示或建议都很好。如果需要,可以发布源代码 尝试遵循您分配给txtFoodSearch的公共声明,声明为static。这是因为static关键字使txtFoodSearch等变量在加载其类时可全局访问 因此,在相应的类中声明公共静态txtFoodSearch后,您应该能够在任何其他类中执行:Classname.txtFoodSearch以访问txtFoodSearch的内容。但是,请确保包含txtFoodSearch的类声明为public
txtFoodSearch.getText().toString();