2014-02-11 6 views
2

이것은 많은 사람들에게 분명한 해답이 될 것입니다.하지만 알아낼 수 없습니다. 안드로이드 응용 프로그램 내에서 API 호출을 만들려고하지만 "..... 해결할 수 없습니다"실행 계속 나는 FoodSearchActivity, GetItemsActivity 및 GetData 세 가지 Java 클래스가 있습니다!상속 및 연장 클래스

FoodSearchActivity extends Activity; 

이 클래스는 선언 다음

public ListView list; 
public Button btnSearch; 
public EditText txtFoodSearch; 

하지만 FoodSearchActivity을 연장하지 않는 한 GetItemsActivity 클래스, txtFoodSearch가 해결 될 수 없다. 이는 다시 AsyncTask을 구현할 수 없다는 것을 의미합니다. GetItemsActivityAsyncTask을 구현 않을 때 나는 오류 얻을 : 나는 내가이 작업을 수행 할 때 오류가 없지만 AsyncTask<String, String, String>

GetData extends AsyncTask<String, String, String> 

를 확장하는 새로운 클래스 GetData을 만들어

" 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 다른 클래스에서 볼 수 있습니까 ?? 이미 공개로 선언되었습니다. 모든 조언이나 조언이 좋을 것입니다. 필요한 경우 소스 코드를 게시 할 수 있습니다!

답변

2

txtFoodSearch(고정)이라는 선언이있는 공개 선언을 따르십시오. static 키워드는 해당 클래스가로드되는 동안 txtFoodSearch과 같은 변수를 전역으로 액세스 할 수 있기 때문입니다. 당신은 해당 클래스의 공공 정적 txtFoodSearch를 선언 한 후

그래서, 당신은 할 수 있어야 할 만합니다 : 다른 클래스에서 Classname.txtFoodSearch의 내용 txtFoodSearch에 액세스 할 수 있습니다. 그러나 txtFoodSearch을 포함하는 클래스는 public으로 선언되어야합니다.

+0

트릭을 수행 한 것 같아서 고마워! –