gpt4 book ai didi

android - fragment Activity 中的 onclick 事件不起作用

转载 作者:行者123 更新时间:2023-11-30 01:00:28 27 4
gpt4 key购买 nike

我有一个 Activity A,其中有一个 fragment 。

在此 Activity 中,根据 Activity A 中的用户输入, fragment 更改为 fragment A(调用 Activity A 时的默认值)或 fragment B。

在 fragment A 和 fragment B 中,我都有一个带有点击监听器的按钮。 但是这个按钮只有在Activity A启动时才第一次起作用。

当用户更改 fragment 时,这些 fragment 中的按钮停止响应点击。

请建议我需要做什么,以便在用户更改 fragment 时使 fragment A 和 B 中的按钮正常工作。

我正在用这段代码替换基于用户输入的 fragment :

fr = new FragmentOneDice();
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
fragmentTransaction.replace(R.id.fragment_place, fr);
fragmentTransaction.commit();

在 fragment Activity 代码中,点击监听器按钮是这样的。

import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;

import java.util.ArrayList;
import java.util.Collections;

public class FragmentOneDice extends Fragment implements View.OnClickListener {

Button button1;
View view;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

//Inflate the layout for this fragment


view = inflater.inflate(R.layout.activity_fragment_one, container, false);


button1 = (Button) view.findViewById(R.id.button_one);
button1.setOnClickListener(this);

return view;


}

@Override
public void onClick(View v) {
//MY CODE HERE
}

最佳答案

问题出在我的 activity_main.XML 中,我在其中定义了 <Fragment>作为所有 fragment 的占位符,并将一个 fragment 设置为默认 fragment 。因此,当加载其他 fragment 时,它会重叠,导致按钮上的点击事件不起作用,我更改了 <Fragment><FrameLayout>作为占位符。我的问题解决了。

关于android - fragment Activity 中的 onclick 事件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39504858/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com