So hier ist mein Problem, ich bleibe immer rot Unterstreichung in meinem loginFragment.show(getFragmentManager(), "login");
warum hat es eine Unterstreichung unter den Parametern. Wenn ich getSupportFragmentManager
benutze und nicht AppCompatActivity
benutze und stattdessen Aktivität verwende, dann hat es im Programm selbst keinen Fehler, aber sobald ich auf die Schaltfläche klicke, um das Dialogfeld anzuzeigen, stürzt es ab. Hier ist mein gesamter Code. immer rote Unterstreichung auf meiner .show, wenn ich getFragmentManager()
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
static Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
context = this;
}
public void showLogin(View v){
DialogFragment loginFragment = new LoginDialogFragment();
loginFragment.show(getFragmentManager(),"login");
}
public static class LoginDialogFragment extends DialogFragment{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
AlertDialog.Builder builder = new
AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
View v = inflater.inflate(R.layout.layout_login,null);
final EditText etUsername = (EditText)
v.findViewById(R.id.username);
final EditText etPassword = (EditText)
v.findViewById(R.id.password);
builder.setView(v).setPositiveButton(R.string.login, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String username, password;
username = etUsername.getText().toString();
password = etPassword.getText().toString();
String msg;
if(username.equalsIgnoreCase("abcd")&&password.equalsIgnoreCase("1234")){
msg = "Access Granted";
}
else {
msg = "Access Denied";
}
Toast.makeText(context, msg,Toast.LENGTH_SHORT).show();
}
}).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog,int id){
}
});
return builder.create();
}
}
}
Post Ausnahme/Fehler hier auch –
Fehler: (26, 22) Fehler: kein geeignetes Verfahren für die Show gefunden (android.app.FragmentManager, String) Methode DialogFragment.show (android.support.v4.app.FragmentManager, String) ist nicht anwendbar (Argument nicht übereinstimmend; android.app.FragmentManager kann nicht in android.support.v4.app.FragmentManager konvertiert werden) Methode DialogFragmen t.show (FragmentTransaction, String) ist nicht anwendbar (argument mismatch; android.app.FragmentManager kann nicht in FragmentTransaction konvertiert werden) – apd
Mögliches Duplikat von [kann nicht von android.app.FragmentManager in android.support.v4.app.FragmentManager konvertiert werden] (https://stackoverflow.com/questions/16690364/cannot- convert-from-android-app-fragmentmanager-to-android-support-v4-app-fragme) –