私はAndroid/Javaで非常に新しい作業をしていますので、私にご負担ください。コードの参照がアクティビティからフラグメントに移動しました
私は多くのクラスは、もはやそのようfindViewById
として、解決方法onCreate
にFragmentLogin
を作成したフラグメントにLoginActivity > onCreate
からコードを移動しました。私は、どこかでコンテナーのコンテクストのコンテキストを適切に渡していないと仮定しています。
またはいくつかの他の初心者の間違い...
ここLoginActivity.java [関連部分をコピー]
public class LoginActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Initialize Fragments //
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
setContentView(R.layout.fragment_login);
}
}
とFragmentLogin.javaです:
public class FragmentLogin extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_login, container, false);
final ValidationManager Check = new ValidationManager();
final SessionManager Session = new SessionManager(this);
final EditText textEmail = (EditText) findViewById(R.id.login_email);
final EditText textPassword = (EditText) findViewById(R.id.login_pass);
final Button buttonLogIn = (Button) findViewById(R.id.button_login);
final Button buttonSignup = (Button) findViewById(R.id.button_signup);
// Listen for FORGOTTEN PASSWORD click event, open ForgottenPassword Fragment //
final Button forgottenPassword = (Button) findViewById(R.id.button_lost_pass);
forgottenPassword.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setContentView(R.layout.fragment_forgotten_password);
}
});
... more code ...
}
}
変数/メソッド2番目のコードブロックがアクティビティのonCreate
メソッドに存在していても、コードをに移動した後に解決されなくなったときに機能していましたFragmentLogin
フラグメントクラスの210:
findViewById
、setContentView
基本的に、これはデフォルトのフラグメントがlogin
する必要がありますログインフォームで、そのページ(Button forgottenPassword
)上のボタンは、別のフラグメント(FragmentForgottenPassword
)を開きます。
誰でも私が間違っていることを教えてもらえますか?
フラグメントトランザクションはコミットされていません。beginTransaction()。add/replace/.commit() '' 'を実行し、' '' setContentView''を '' ' super.onCreate'''。 – danypata