java - Android Studio - fragment 按钮 Action

标签 java android android-fragments button fragment

我尝试制作一个在开始时显示一个 fragment 的应用程序,然后您可以将该 fragment 更改为另一个 fragment ,并在第一个 fragment 中使用一个按钮。但是,当我将按钮操作放在 fragment java 中时,它不会启动,并且出现 nullpointerexception 错误。你能告诉我为什么吗?

public class Fragment_main extends Fragment {

FragmentManager fm = getFragmentManager();

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    Button button_inditas = (Button) getView().findViewById(R.id.button_inditas);
    button_inditas.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            fm.beginTransaction().replace(R.id.content_frame, new Fragment_1()).commit();
        }
    });
    return inflater.inflate(R.layout.fragment_main,container,false);

}
}

最佳答案

But when I put the button action in the fragments java, it won't start and I get the nullpointerexception error. Could you tell me why?

嗯,我看到你的代码有一些错误......

首先,如果您还没有充气,则不能调用 getView(),这意味着您必须充气 View ,因为我将我的回答,然后你可以避免 getView() 并使用 view 本身。

而不是返回充气器,你必须返回你的 View

这就是您的 Fragment 的样子:

 public class Fragment_main extends Fragment {

    public Fragment_main() {
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main,container,false);
        Button button_inditas = (Button)rootView.findViewById(R.id.button_inditas);
        button_inditas.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

         FragmentManager fragmentManager = getFragmentManager ();
         FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction ();

         fragmentTransaction.add (R.id.content_frame, new Fragment_1());
         fragmentTransaction.commit ();


        });
    return rootView;

    }
}

关于java - Android Studio - fragment 按钮 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490797/

相关文章:

java - 如何从JSP文件中迭代ResultSet?

java - 在 ORMLite queryRaw 方法中获取两个日期字符串之间的日期时出现 SQLException

android - 评估项目时出现问题 ':app'

java - 长时间不活动后无法创建新的加载程序

android - Google Maps api v2 无法正常工作并意外关闭

java - Android - 在 ImageView 中使用大图像或使用不同大小的图像

java - 将无法识别的json数据反序列化为Map JacksonJson

android - TextView 中的图像

android - 导入多个相互依赖的 gradle 依赖项

java - 从另一个 Fragment 重置 RecyclerView 适配器