【问题标题】:Application stopped error in android应用程序在android中停止错误
【发布时间】:2016-06-18 01:51:55
【问题描述】:

我是新手。

我收到“应用程序已停止”,按下加密 按钮 (id=encb) 后出现错误(仅名称,用于 Toast 测试),在 fragment_main.xml(主页)中

解释: MainActivity.java,它的布局,activity_main.xml(已经内置导航栏)。 MainFragment.java,其布局,fragment_main.xml(其用于导航栏中的 Home 片段,来自 Home、Settings 等片段之一)

我尝试过的:我在互联网上搜索了很多。检查了我的 onClick 函数,它是正确的

还有 fragment_main 的 FragmentTransaction (即, MainFragment),由 activity_main 提供。所以,这意味着我必须将我的 onClick() 放在 MainActivity.java 而不是 MainFragment.java

这里是code

我们将不胜感激。

【问题讨论】:

  • 虽然我已经回答了你的问题,但是你应该在你的帖子(问题)中添加代码,而不是在第 3 方的地方。如果代码不在帖子中,99.9% 的可能性是没有人会查看代码。
  • 谢谢大佬,下次我只放代码在这里。
  • 我不知道这些 StackOverflow 的人想要什么,如果他们发现帖子没有多大价值(对他们来说,我不知道他们的标准是什么)只有在回答后才删除,但是他们不应该给出-1。我们是新手,他们应该记住它:)。

标签: java android android-fragments


【解决方案1】:

您的按钮在fragment_main.xml 中,在MainFragment.java 中使用,但您在MainActivity.java 中使用这些按钮,所以结果为空,导致NullPointerException

解决方案 1:如果您希望按钮仅位于当前片段中,请使用此选项。

像这样将按钮相关代码移动到MainFragment.java

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_main, container, false);
    Button b2 = (Button) view.findViewById(R.id.encb);
    b2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // click related code goes here
        }
    });
    return view;
}

解决方案 2:如果您希望按钮在那里而不考虑当前加载的片段,请使用此选项。

activity_main.xml中添加这些按钮

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多