当前位置: 首页 > 知识库问答 >
问题:

错误RunTimeException无法实例化活动组件信息{…}:JAVAlang.NullPointerException

公孙芷阳
2023-03-14

我有一段时间在写代码

我的错误是:

无法实例化活动组件信息{com.example.example/com.example.sample.MainActivity}:java。lang.NullPointerException:尝试调用虚拟方法“android”。所容纳之物下午。Android应用信息。所容纳之物上下文对空对象引用执行getApplicationInfo()


import androidx.appcompat.app.AppCompatActivity;

import android.app.ActivityManager;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import com.jaredrummler.android.processes.AndroidProcesses;
import com.jaredrummler.android.processes.models.AndroidAppProcess;
import com.jaredrummler.android.processes.models.Stat;
import com.jaredrummler.android.processes.models.Statm;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

public class MainActivity extends AppCompatActivity {
    List<RunningApplication> runningApplicationList = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        Button send = (Button) findViewById(R.id.button);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        send.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getRunningApps();
            }
        });


    }

    public void getRunningApps() {
        List<AndroidAppProcess> processes = AndroidProcesses.getRunningAppProcesses();
        PackageManager pm = getPackageManager();
        for (AndroidAppProcess pro : processes) {
            try {
                String proccessname = pro.name;
                Stat stat = pro.stat();
                int pid = stat.getPid();
                int parentProccessId = stat.ppid();
                long startTime = stat.stime();
                int policy = stat.policy();
                char state = stat.state();

                Statm statm = pro.statm();
                long totalSizeofProccess = statm.getSize();
                long residentSetSize = statm.getResidentSetSize();

                PackageInfo packageInfo = pro.getPackageInfo(MainActivity.this,0);

                //get the app name
                String appName = packageInfo.applicationInfo.loadLabel(pm).toString();
                //Get the app icon
                Drawable appIcon = packageInfo.applicationInfo.loadIcon(pm);
                //Add it to your list of running app
                RunningApplication ra = new RunningApplication(appName,startTime,String.valueOf(pid),appIcon);
                runningApplicationList.add(ra);
                Log.e("APPNAME : ", appName);
            } catch (Exception ex) {
                Log.e("APPNAME.CONTEXT",ex.getMessage());
            }
        }
    }

}```

共有1个答案

宓昂雄
2023-03-14

你得到NPE是因为你在调用setContentView(R.layout.activity_main)之前试图创建一个新的按钮实例 这就是导致应用程序崩溃的原因。

考虑将您的<代码> OnCudio方法更改为以下代码段:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button send = (Button) findViewById(R.id.button);


    send.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            getRunningApps();
        }
    });


}

 类似资料:
  • 很好的一天!我正在努力解决这个问题一周,这是以前没有的(也就是说,这个程序以前是有效的)。 问题:我的登录表单的GUI将不再加载。 给定:(LoginScreen类视图) 我的login_screenxml代码: 最后,我的AndroidID清单。xml 这是我的Logcat输出: 注意:每当我在“扩展活动”之后删除代码“implements JPacketListener”,并删除它的方法(on

  • 我的应用程序运行得很好,我可以从一个活动转到另一个活动,然后我添加了一些Toast消息用于注册按钮,然后我在尝试从MainActivity转到RegistrationActivity时遇到了这个错误。。 美娜ctivity.kt 注册ctivity.kt activity_main.xml 活动注册。xml 显示 和logchat 2019-12-09 09:08:16.171 28691-286

  • 我目前正在一个android项目,当试图运行后构建的应用程序平原崩溃。以下是LogCat详细信息: 2021-11-13 13:37:08.105 11908-11908/com.example.finalprojectE/AndroidRuntime: FATAL EXCEPTION:主进程:com.example.finalproject, PID: 11908java.lang.Runtim

  • 我是Android程序员的新手。最近,我尝试在android应用程序中使用google map v2制作项目,但是我得到了很多错误(我已经将google play服务添加到我的库中,并且在这里找到了类似的主题,但是没有解决我的问题)。请看我的日志猫吼: my mainactivity.java: 我在这里使用的是fragment,所以这里是fragment_main.xml: 还有我的舱单 这里是

  • 我有一个浮动按钮在一个片段,并希望传递意图到另一个活动。但是,当我按下浮动按钮时,导致“无法启动activity ComponentInfo”错误。 ------------编辑---------------------- 下面是我的意图代码:

  • RegistrationActivity.kt activity_main.xml activity_registraion.xml