0
嗯,我正在開發一個應用程序,經過多次嘗試後,我無法恢復它被另一個具有更高優先級或更高資源需求的應用程序銷燬,所以現在我選擇關閉它並重新開始整個活動,但我是面臨另一個問題。每當我重新啓動洞的事情,後來通過退出活動,我發現舊的活動,它仍然打開,所以重新啓動操作發生兩次,即使在第二次退出,我終於回到了Android家我仍然沒有得到如何繼續發生。 現在我正在關閉並在片段的onCreateView()方法結束時重新啓動應用程序。在這一點上做得好還是有更好的方法去做我想做的事情?重新啓動導航抽屜碎片活動的適當方法?
public void onSectionAttached(int number) {
try {
switch (number) {
case 1:
mTitle = getString(R.string.title_section1);
theFragment = 1;
if (isOnline()) {
if (bluClient.gotoHomePage(mainWebBrowser)) {
needloading = 6;
loadingdialog = ProgressDialog.show(this, "", "Attendere...", true, false);
}
} else {
Toast.makeText(this, "Rete non disponibile", Toast.LENGTH_LONG).show();
return;
}
break;
case 2:
mTitle = getString(R.string.title_section2);
theFragment = 2;
if (isOnline()) {
if (bluClient.gotoUrlPage(mainWebBrowser)) {
needloading = 7;
if (bluClient.getCurr_page() == 3)
nlu = true;
loadingdialog = ProgressDialog.show(this, "", "Attendere...", true, false);
} else
needloading = -2;
} else {
Toast.makeText(this, "Rete non disponibile", Toast.LENGTH_LONG).show();
return;
}
break;
case 3:
mTitle = getString(R.string.title_section3);
theFragment = 3;
if (isOnline()) {
if (bluClient.gotoPrefPage(mainWebBrowser)) {
needloading = 8;
loadingdialog = ProgressDialog.show(this, "", "Attendere...", true, false);
} else
needloading = -3;
} else {
Toast.makeText(this, "Rete non disponibile", Toast.LENGTH_LONG).show();
return;
}
break;
case 4:
mTitle = getString(R.string.title_section4);
theFragment = 4;
break;
}
}catch (NullPointerException e){}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View rootView = inflater.inflate(returnFragment(), container, false);
TextView t = (TextView) rootView.findViewById(R.id.txtContatore);
RelativeLayout rel;
try {
switch (theFragment) {
case 1:
t.setText(formatBlurumPunti(bluClient.getPoints()));
final AutoCompleteTextView aCTV = (AutoCompleteTextView) rootView.findViewById(R.id.txtMotore);
aCTV.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//here is your code
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString() != "") {
//forSuggestions.stopLoading();
//forSuggestions.loadUrl("http://suggestqueries.google.com/complete/search?output=toolbar&hl=it&q=" + s.toString());
new setGoogleSuggestions(rootView).execute("http://suggestqueries.google.com/complete/search?output=toolbar&hl=it&q=" + s.toString());
}
}
});
ImageButton b;
for(short k=0;k<6;k++) {
switch (k) {
case 0:
t = (TextView) rootView.findViewById(R.id.txtFirstBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mGoogle);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.gLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
case 1:
t = (TextView) rootView.findViewById(R.id.txtSecondBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mYahoo);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.yLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
case 2:
t = (TextView) rootView.findViewById(R.id.txtThirdBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mBing);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.bLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
case 3:
t = (TextView) rootView.findViewById(R.id.txtFourthBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mYoutube);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.YoLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
case 4:
t = (TextView) rootView.findViewById(R.id.txtFifthBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mVirgilio);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.vLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
case 5:
t = (TextView) rootView.findViewById(R.id.txtSixthBonusengine);
b=(ImageButton)rootView.findViewById(R.id.mPaginegialle);
if(bluClient.getMotori().get(k).isSelected()) {
rel=(RelativeLayout)rootView.findViewById(R.id.pLayout);
rel.setBackgroundResource(R.drawable.button_selected);
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(bluClient.getMotori().get(k).getImage());
}
}
else{
if (bluClient.getMotori().get(k).getImage() != null) {
b.setImageBitmap(toGrayscale(bluClient.getMotori().get(k).getImage()));
}
}
break;
}
if(bluClient.getMotori().get(k).getValue()>1)
{
t.setText(Integer.toString(bluClient.getMotori().get(k).getValue()));
rel = (RelativeLayout) t.getParent();
rel.setVisibility(View.VISIBLE);
}
}
break;
case 2:
t.setText(formatBlurumPunti(bluClient.getPoints()));
final AutoCompleteTextView aCTV2 = (AutoCompleteTextView) rootView.findViewById(R.id.txtMotore);
aCTV2.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//here is your code
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString() != "") {
//forSuggestions.stopLoading();
//forSuggestions.loadUrl("http://suggestqueries.google.com/complete/search?output=toolbar&hl=it&q=" + s.toString());
new setGoogleSuggestions(rootView).execute("http://suggestqueries.google.com/complete/search?output=toolbar&hl=it&q=" + s.toString()); }
}
});
if(urlHistory=="")
urlHistory=theUserSessionManager.restoreUrlHistory();
ArrayList<urlwidgStructure>lis;
lis=getUrlWidgStructureFromRestoredList(theUserSessionManager.restoreUrlHistoryToArrayList());
for(short f=0;f<lis.size();f++)
{
setUrlVisitato2(rootView,inflater,lis.get(f));
}
break;
case 3:
t.setText(formatBlurumPunti(bluClient.getPoints()));
if (needloading == -3) {
ArrayList<Blurum.preferitoBlurum> preferiti = bluClient.getPreferiti();
if(preferiti.size()>0) {
for (short i = 0; i < preferiti.size(); i++) {
setPreferitiOfPage2(rootView, inflater, preferiti.get(i).nome, preferiti.get(i).stelle);
}
RelativeLayout re = (RelativeLayout) rootView.findViewById(R.id.relPrefPageContainer);
if (!preferiti.isEmpty()) {
re.setVisibility(View.VISIBLE);
ImageButton btnFoward = (ImageButton) re.findViewById(R.id.imgFoward), btnBack = (ImageButton) re.findViewById(R.id.imgBack);
if (preferiti.get(0).canGo('f'))
btnFoward.setVisibility(View.VISIBLE);
else
btnFoward.setVisibility(View.INVISIBLE);
if (preferiti.get(0).canGo('b'))
btnBack.setVisibility(View.VISIBLE);
else
btnBack.setVisibility(View.INVISIBLE);
t = (TextView) rootView.findViewById(R.id.txtPrefPageNum);
String d = Short.toString(preferiti.get(0).getParentPrefPageCurrentPageNum());
t.setText(d);
} else
re.setVisibility(View.INVISIBLE);
}
else {
t=(TextView)rootView.findViewById(R.id.txtNopref);
t.setVisibility(View.VISIBLE);
}
}
break;
case 4:
WebView wvcatalogo=(WebView)rootView.findViewById(R.id.wvCatalogo);
wvcatalogo.getSettings().setJavaScriptEnabled(true);
wvcatalogo.getSettings().setDomStorageEnabled(true);
wvcatalogo.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
wvcatalogo.getSettings().setSupportMultipleWindows(true);
wvcatalogo.getSettings().setUserAgentString(mainWebBrowser.getSettings().getUserAgentString());
wvcatalogo.loadUrl("url");
wvcatalogo.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
super.shouldOverrideUrlLoading(view,url);
return false;
}
});
break;
}
}
catch (NullPointerException e)
{
//Once my static class variable seem to be Null I know that the activity is trying
//to restore its self so I have to do this
Intent intent = new Intent(getActivity(), Accesso.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
getActivity().finish();
}
return rootView;
}
對不起亂碼...
我沒有得到你想要實現的。你可以發佈一些代碼嗎? – natario
在這裏,我做的這個視頻截圖可以幫助你更好地理解它[鏈接](https://www.youtube.com/watch?v=v-Mkz00cl0I)..我還將用一些代碼編輯mi問題。 –
對不起,但我不明白你要做什麼。什麼變量是空的,它來自哪裏?這聽起來像你試圖做的任何事情都應該以一種完全不同的方式處理,而不是重新開始一個活動 – tyczj