当前位置: 首页 > 面试题库 >

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ android.view.View android.app.Activity.findViewById(int)”

秦联
2023-03-14
问题内容

我的Android项目中总是出现错误。

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ android.view.View
android.app.Activity.findViewById(int)”

在我的MainActivity中,我正在调用FragmentStart类。

FragmentStart.class

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.support.v4.app.Fragment;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.AdapterView;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.ListView;



public class FragmentStart extends Fragment {



    //Define Listview

    private ListView startList;

    private String[] stringList;

    Activity activity = getActivity();



    public FragmentStart() {

        //

    }





    @Override

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

        View rootView = inflater.inflate(R.layout.fragment_start, container, false);



        // Create ListView start

        startList = (ListView) rootView.findViewById(R.id.startList);

        stringList = getResources().getStringArray(R.array.startList);



        if (activity != null) {

            ArrayAdapter<String> objAdapter = new ArrayAdapter<String>(activity, android.R.layout.simple_list_item_1, stringList);

            startList.setAdapter(objAdapter);

            startList.setOnItemClickListener(new AdapterView.OnItemClickListener() {



                @Override

                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                    switch (startList.getPositionForView(view)) {



                        case 0:

                            // ...

                            break;



                    }

                }

            });

        }

        // Create ListView end



        //New Entry

        Button add = (Button) activity.findViewById(R.id.add);

        add.setOnClickListener(new View.OnClickListener() {

            public void onClick(View view) {

                Intent myIntent = new Intent(view.getContext(), addItem.class);

                startActivityForResult(myIntent, 0);

            }



        });



        return rootView;

    }

}

问题答案:

除了@Selvin指出的内容外,它看起来像这样:

Button add = (Button) activity.findViewById(R.id.add);

…应更改为:

Button add = (Button) rootView.findViewById(R.id.add);


 类似资料:
  • 问题内容: 我正在尝试将播放器的名称保存为共享的首选项,并通过再次以共享的首选项获取它的名称来使其显示在另一个活动中,但是我的应用程序崩溃了。 致命异常:主要 代码: 播放器 PlayGame.java PlayerName.java 问题答案: 您的应用在以下位置崩溃: 因为。 您忘记在PlayGame活动中进行初始化。

  • 问题内容: 有人可以帮我检查我的代码有什么问题吗?我有4个,并且它们的值已插入到中。现在我想将该项目检索到另一个旋转器中,但得到 我已经检查了每个步骤,但仍然无法找出问题所在。 更新.java 错误的LogCat 我有一个活动,其中有一个微调器,下面的代码对我来说很好用。 问题答案: *方法之一的参数是。正如您在摘录中看到的: …的check ,如果T不是a 或null ,则返回false 。由于

  • 问题内容: 运行我的项目时出现错误。 这是完整的日志: 这是我的ProductDetail.java 谁能告诉我错误在哪里以及如何解决?如果有人可以帮助我,我将非常感激。 问题答案: 您的字符串是这样给你一个。这是导致它的原因: 字符串是因为您没有从接收任何值。这可能是因为您忘记了传递以前的值。 但是,您可以检查一下String 是否存在,那么将不会执行这些操作。您可以通过以下方式做到这一点: 因

  • 问题内容: 我正在尝试在RecyclerView中实施滑动删除操作。除了在要刷卡的项目下方绘制一个删除图标外,其他一切似乎都工作正常。 这就是我的做法: 它在扔 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法’boolean android.graphics.Bitmap.isRecycled()’ 全栈跟踪 第149行已调试,但我看到它为null,但

  • 问题内容: 我有一个称为 MainActivity.java 的类,该类称为一个类。最后一个类在执行时返回此错误: 我不明白在完成工作后如何编辑排名。 MainActivity.java 连接.java 问题答案: 错误是 永远不会初始化,因此指向null。为了使您的代码正常工作,最小的步骤是在MainActivity中 在连接 但是无论如何,在onCreate中创建任务并传递Activity并不

  • 问题内容: 我收到以下错误 尝试在空对象引用上调用虚拟方法’void android.widget.StackView.setAdapter(android.widget.Adapter)’ 在这条线上 完整的片段 EventsFragment.java 是 Stack_Adapter.java Stack_Items 问题答案: 您正在执行: 你是。返回。 你为什么用? 在哪里?您应该从正确的x