0

Navigator.onClick() のコードは次のとおりです。Login.onResume() のコードは機能しているようですが、それを行った後、ユーザー ID とパスワードのフィールドに何を入力しても、アプリはそれを認識していないようです。「ユーザーIDを空にすることはできません」と言い続けます。初めてでも問題なく動作します。

private void buttonClick(final Button btnLeft, final Button btnRight,
        final Button btnQueue) {

    btnLeft.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
            previousScreen = btnLeft.getText().toString();
            if (previousScreen.equals("Login")) {
                errorMessage = loginProcedure();
                if (errorMessage.equals("")) {
                    showDetails(btnLeft, btnRight, btnQueue,
                            fragmentTransaction);
                } else {
                    FileIO.displayMessage(getActivity(), errorMessage, null);
                }
            } else if (...) {
            }

            fragmentTransaction.addToBackStack(null);
            fragmentTransaction.commit();
        }

    });



private String loginProcedure() {

    errorMessage = "";
    String userID = ((EditText) getActivity().findViewById(
            R.id.editUserid)).getText().toString();
    if (userID.trim().equals("")) {
        errorMessage = "User ID cannot be empty";
        return errorMessage;
    }

    String password = ((EditText) getActivity().findViewById(
            R.id.editPassword)).getText().toString();
    if (password.trim().equals("")) {
        errorMessage = "Password cannot be empty";
        return errorMessage;
    }

    if (!FileIO.UserList.contains((userID + "PR" + password)
            .toUpperCase())) {
        errorMessage = "UnAuthorized User";
        return errorMessage;
    } else {
        userID = userID;
        UserName = password;
    }

    return errorMessage;
}
4

1 に答える 1

0

問題は、現在画面上でアクティブになっているものとは異なるEditTextビューが表示されるアクティビティにあるようです。これはいくつかの方法で発生する可能性があり、すべてのコードを確認できないため、何が発生しているかを正確に把握するのは困難です。

ログインフラグメントをテストするには、次のように変更します。

public class Login extends Fragment {
    private View fragmentView;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        fragmentView = inflater.inflate(R.layout.login, null);
        return fragmentView;
    }

    @Override
    public void onResume() {
        super.onResume();

        EditText e1 = (EditText) fragmentView.findViewById(R.id.editUserid);
        e1.setText("");

        EditText e2 = (EditText) fragmentView.findViewById(R.id.editPassword);
        e2.setText("");
    }
}

これにより、現在のLogIn Fragmentユーザーを設定し、「」に渡すことが確認されます。

于 2012-09-19T23:12:21.073 に答える