0

ボタンをクリックする必要があるフラグメントを取得しました。

問題は、クリックすると、フラグメント自体ではなく、すべてのフラグメントをホストする MainActivity に移動することです。ログに記録しようとしましたが、ボタンをクリックしてもログに何も表示されません。

onCreateView 全体をお見せします。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.server_settings, container, false);
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn);
    loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            //were the magic won't happen.
        }
    });
    return inflater.inflate(R.layout.server_settings, container,false);
}
4

2 に答える 2

5

あなたの問題 (私は信じています) は、onClick ハンドラーが割り当てられていない膨張したビューのインスタンスを返していることです。

これを試して:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.server_settings, container, false);
    final Button loginButton = (Button) view.findViewById(R.id.addServerSettingsbtn);
    loginButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(final View v) {
            //were the magic won't happen.
        }
    });
    return view;
}
于 2013-06-29T18:11:12.053 に答える
1

view再び膨らませる代わりに戻る必要がありますserver_setting。inflate は、新しいオブジェクトが作成されるたびに戻ります

于 2013-06-29T18:09:49.710 に答える