Wie das umzusetzen, onBackPressed() & Absichten in fragment?
Ich weiß, dass onBackPressed() ist eine Methode in der activity, aber ich möchte, um die Funktionalität verwenden, die in Fragmente, so dass beim zurück-button ist gedrückt, es wird umgeleitet, um eine andere Aktivität über intents. Gibt es eine Lösung für dieses ?
public class News_Events_fragment extends Fragment {
ProgressDialog pd;
ListView lv1;
SharedPreferences sharedPreferences = null;
int NotiCount;
TextView txt_title, txt_msg, textView;
Context context;
Intent intent ;
ArrayList<SliderMsgTitleModel> CurrentOfficersPastList;
NewsActivityAdapter pastAdapter;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
context = (Context) getActivity();
View rootView = inflater.inflate(R.layout.activity_news, container, false);
new AsyncTask<Void, Void, ArrayList<SliderMsgTitleModel>>() {
protected void onPreExecute() {
pd = new ProgressDialog(getActivity());
pd.setCancelable(true);
pd.setTitle("UPOA");
pd.setMessage("Please wait,loading the data...");
pd.show();
}
@Override
protected ArrayList<SliderMsgTitleModel> doInBackground(
Void... params) {
System.out.println("In Background");
CurrentOfficersPastList = new ArrayList<SliderMsgTitleModel>();
//display view for selected nav drawer item
ParseQuery<ParseObject> query = ParseQuery.getQuery("message");
query.whereEqualTo("featured_status", true);
//query.whereEqualTo("push_status", true);
query.orderByDescending("updatedAt");
query.selectKeys(Arrays.asList("title"));
query.selectKeys(Arrays.asList("message"));
try {
query.setCachePolicy(ParseQuery.CachePolicy.NETWORK_ELSE_CACHE);
List<ParseObject> results = query.find();
for (int i = 0; i < results.size(); i++) {
ParseObject object = results.get(i);
CurrentOfficersPastList.add(new SliderMsgTitleModel(
object.getString("title"), object
.getString("message")));
System.out.println("title is=="
+ object.getString("title") + "&& message is"
+ object.getString("message") + "size is"
+ CurrentOfficersPastList.size());
}
} catch (Exception e) {
e.getMessage();
}
pd.dismiss();
return CurrentOfficersPastList;
}
@SuppressWarnings("unchecked")
@Override
protected void onPostExecute(ArrayList<SliderMsgTitleModel> value) {
pd.dismiss();
/*Intent ent = new Intent(getActivity(), NewsActivity.class);
ent.putExtra("NEWSLIST", (ArrayList<SliderMsgTitleModel>) value);
startActivity(ent);
System.out.println("Value is" + value.size());*/
CurrentOfficersPastList = new ArrayList<SliderMsgTitleModel>();
CurrentOfficersPastList = value;
lv1 = (ListView) getActivity().findViewById(R.id.list_title);
pastAdapter = new NewsActivityAdapter(getActivity(), R.layout.activity_news_txt, CurrentOfficersPastList);
lv1.setAdapter(pastAdapter);
}
}.execute();
return rootView;
}
public void onBackPressed() {
//TODO Auto-generated method stub
//super.onBackPressed();
//Toast.makeText(getApplicationContext(), "click",2000).show();
String cameback="CameBack";
intent = new Intent(getActivity(),HomeActivity.class);
intent.putExtra("Comingback", cameback);
startActivity(intent);
}
}
- Ist dein problem gelöst?? Ich bearbeitet meine post. Besuchen Sie bitte die Beispiel-app erstellt auf github für back-stack von fragment.
- gleiche Problem stackoverflow.com/questions/32132623/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
OnKeyDown überschreiben statt onBackPressed. Nicht unbedingt . Aber das funktioniert für mich
Können Sie die Interaktion mit dem fragment, mit einem callback-interface. In Ihrer Tätigkeit fügen Sie den folgenden:
In Ihrem fragment fügen Sie den folgenden:
Ja, Es ist. Sie implementieren sollten, wie diese.
Erklärung
Hinweis
Hier Bedingung kann alles sein. Ich nehme einfach
fragment
Initialisierung als ein Beispiel. Kann sein, dass nicht geholfen werden kann Sie. Sie müssen definieren, Ihren eigenen Zustand zu übergeben, es zu fragmentieren.Bearbeiten
Erstellte ich eine Beispiel-Anwendung ist auf GitHub zu implementieren Back-Stack von fragment .
Download Fragment-Stack Zurück Anwendung.
Können Sie implementieren onKeyListener für Ihre fragment und rufen Sie nächste Aktivität innerhalb, der.
Ich habe nie versucht, diese. Aber ich hoffe, es kann helfen,
Beispielsweise
Müssen Sie onBackPressed überschreiben-Methode im fragment.
onBackPressed
Methode im Fragment.