추가 기능을 탐색하기 위해 TabHost 및 일부 탭을 추가하여 응용 프로그램을 확장하려고합니다. 현재 응용 프로그램은 기본적으로 데이터베이스를 검색합니다. 현재 응용 프로그램 워크 플로우 : 탭을 사용하여 활동 오류를 시작할 수 없습니다.
- 앱로드
- 사용자 로그, 검색 폼 및 입력 데이터를 가져
- 검색 결과 목록 활동을로드 "검색"누른다. ..
새 탭에는 검색을위한 별도의 탭이 있습니다. 모든 활동이 그 탭 그룹 안에 남아 있기를 바랍니다. 그래서 나는이 모든 것을 처리하기 위해 활동 그룹을 만들었습니다
내 검색 활동의 검색 버튼의 OnClickListener를에서public class searchGroup extends ActivityGroup {
public static searchGroup group;
private ArrayList<View> history;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.history = new ArrayList<View>();
group = this;
View view = getLocalActivityManager().startActivity("search", new Intent(this,search.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
replaceView(view);
}
public void replaceView(View v) {
history.add(v);
setContentView(v);
}
public void back() {
if(history.size() > 0) {
history.remove(history.size()-1);
setContentView(history.get(history.size()-1));
}else {
finish();
}
}
@Override
public void onBackPressed() {
searchGroup.group.back();
return;
}
}
:
: 나는 충돌 어디서
view = searchGroup.group.getLocalActivityManager().startActivity("search_results",new Intent(search.this, search_results.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView(); searchGroup.group.replaceView(view);
이것은 02-11 13 : 43 : 49.481 : E/AndroidRuntime (1165) : java.lang.RuntimeException : 작업을 시작할 수 없습니다. ComponentInfo {com.myApp/com.myApp.search_results} : android.view.WindowManager $ BadToke nException : 창을 추가 할 수 없습니다. - 토큰 [email protected]이 입니다. 당신의 활동은 실행 중입니까? 나는 SEARCH_RESULT 활동의에서 onCreate에서 라인의 주석을 해제하면
그러나 :
new LoadSearches().execute();
없는 충돌,하지만 난 분명히 아무 것도 얻을 수 없습니다. LoadSearches()는 서버로 이동하여 검색 문자열을 실행 한 다음 반환 된 데이터를 onPostExecute()의 ListActivity에 채우는 작업을 수행하는 AsyncTask입니다.
나는 활동이 전환 될 때 왜 여기가 부서 지거나 정상적으로 움직이지 않는지 이해하지 못합니다. 이 문제를 어떻게 해결해야합니까? 더 좋은 방법이 있습니까? 프래그먼트에 대해 조금 읽었지만 아직 그걸로 아무 것도하지 않았습니다.
나는이 오류가 발생하여 어떤 해결책을 얻었습니까? –