Ich habe eine Tätigkeit, bei der eine Schaltfläche, wenn Schaltfläche geklickt wird I-Fragment auf auf logout anrufen möchten, Wie kann ich tun gibt That.Its wirft Fehler wie ...Wie man Fragment von einer Klasse in Android anruft?
Hier ist mein Code
public class CLoginSessionManagement {
// User name (make variable public to access from outside)
public static final String s_szKEY_MOBILE = "agentCode";
// Email address (make variable public to access from outside)
public static final String s_szKEY_PASSWORD = "pin";
// Sharedpref file name
private static final String s_szPREF_NAME = "LoginData";
// All Shared Preferences Keys
private static final String s_szIS_LOGIN = "IsLoggedIn";
public SharedPreferences m_LoginPref;
public Editor m_Editor;
public Context m_Context;
public int n_PrivateMode = 0;
// Constructor
public CLoginSessionManagement(Context m_Context) {
this.m_Context = m_Context;
m_LoginPref = m_Context.getSharedPreferences(s_szPREF_NAME, n_PrivateMode);
m_Editor = m_LoginPref.edit();
}
// Registeration Session Management....
public void setLoginData(String mobile, String pin) {
m_Editor.putBoolean(s_szIS_LOGIN, true);
m_Editor.putString(s_szKEY_MOBILE, mobile);
m_Editor.putString(s_szKEY_PASSWORD, pin);
m_Editor.commit();
}
/**
* checkLogin() session wil check user Login status
* If false it will redirect user to Login page
* Else won't do anything
*/
public boolean checkLogin() {
if (!isLogin()) {
Intent i = new Intent(m_Context, CMainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
m_Context.startActivity(i);
return true;
}
return false;
}
/**
* Get stored Login session data
*/
public HashMap<String, String> getLoginDetails() {
HashMap<String, String> user = new HashMap<>();
// user name
user.put(s_szKEY_MOBILE, m_LoginPref.getString(s_szKEY_MOBILE, null));
// user email id
user.put(s_szKEY_PASSWORD, m_LoginPref.getString(s_szKEY_PASSWORD, null));
// return user
return user;
}
public boolean isLogin() {
return m_LoginPref.getBoolean(s_szIS_LOGIN, false);
}
/**
* Clear session details
*/
public void logoutUser() {
// Clearing all data from Shared Preferences
m_Editor.clear();
m_Editor.commit();
Fragment m_oLoginScreen = new CLoginScreen();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.container, m_oLoginScreen, null);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
Gibt mir einen Fehler bei getSupportfragmentManager in LogOut Abschnitt. hier ist mein Code, von wo aus ein Click-Ereignis
else if (id == R.id.LogOut) {
s_oCloginSession.checkLogin();
s_oCloginSession.logoutUser();
Fragment m_oLoginScreen = new CLoginScreen();
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.container, m_oLoginScreen, null);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
Welche Fehler haben Sie sehen ? Fügen Sie die Ausnahme aus dem Protokoll ein. – szym
Hat Ihre Klasse die Methode getSupportFragmentManager? Was ist der Fehler, den Sie bekommen? –
Was ist der Fehler, siehst du? – user4232