Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序列表器_Android_Android Layout_Android Intent - Fatal编程技术网

Android应用程序列表器

Android应用程序列表器,android,android-layout,android-intent,Android,Android Layout,Android Intent,我创建了一个应用程序,希望将所有已安装的应用程序都列在自定义列表视图中。不幸的是,活动一开始就崩溃了!谁能帮我一下吗!我找不到错误,因为它没有给出任何错误 AppActivity.java package com.ex.layout; import java.util.List; import android.app.Activity; import android.content.pm.PackageInfo; import android.os.Bundle; import androi

我创建了一个应用程序,希望将所有已安装的应用程序都列在自定义列表视图中。不幸的是,活动一开始就崩溃了!谁能帮我一下吗!我找不到错误,因为它没有给出任何错误

AppActivity.java

package com.ex.layout;

import java.util.List;

import android.app.Activity;
import android.content.pm.PackageInfo;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.Toast;

public class AppActivity extends Activity implements OnItemClickListener{

String[] name = getaAppName();
String[] packs = getPackName();


@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ListView li = (ListView) findViewById(R.id.applist);
    ListviewAdapet list = new ListviewAdapet(this, name, packs);
    li.setAdapter(list);
    li.setOnItemClickListener(this);
}

public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {  
    // TODO Auto-generated method stub  
    Toast.makeText(this,"Title => "+name[position]+"=> n Description"+packs[position], Toast.LENGTH_SHORT).show();  
}  

public String[] getaAppName() {
    List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);
    String appname[] = new String[apps.size()];
    for (int number = 0; number < apps.size(); number++) {
        PackageInfo pack = apps.get(number);
        appname[number] = pack.applicationInfo.loadLabel(getPackageManager()).toString();
    }
    return appname;
}

public String[] getPackName(){
    List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);
    String packnames[] = new String[apps.size()];
    for (int i = 0; i < apps.size(); i++) {
        PackageInfo pack = apps.get(i);
        packnames[i] = pack.packageName;
    }
    return packnames;
}

}
请帮帮我!
谢谢。

您在代码中犯了两个严重错误

错误1

String[] name = getaAppName();
String[] packs = getPackName();
您在onCreate之前调用这两个方法。请记住
getPackageManager
需要活动上下文。如果在onCreate之前定义它,您将得到该死的
NullPointerException

所以改变你的代码

错误2

public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}
如果在此处返回0,将得到空列表

所以把它改成

public int getCount() {
        return packname.length;
    }

您在代码中犯了两个严重错误

错误1

String[] name = getaAppName();
String[] packs = getPackName();
您在onCreate之前调用这两个方法。请记住
getPackageManager
需要活动上下文。如果在onCreate之前定义它,您将得到该死的
NullPointerException

所以改变你的代码

错误2

public int getCount() {
    // TODO Auto-generated method stub
    return 0;
}
如果在此处返回0,将得到空列表

所以把它改成

public int getCount() {
        return packname.length;
    }

你在应用程序清单中有必要的权限吗?我是android编程的新手!所以我不知道什么是堆栈跟踪!如何获取堆栈跟踪。m使用Eclipse每次运行项目时,我都会收到消息布局已停止。我没有授予权限。我有另一个项目做同样的事情,但我力不给任何许可。这个项目很简单,我将安装的应用程序作为一个列表,并将其指向一个标准的listview。不是定制的。在这个项目中,我想定制ListVIEW。也许你应该考虑到你想做的是超出你的深度并重新考虑。首先,你需要一个更温和更简单的练习,了解Android,了解Eclipse,Android SDK,Java。从其他地方复制/粘贴不会有帮助。我不能重新考虑和改变我所做的事情,因为这是我从大学得到的一个研究项目。我读了很多教程,我的脑子里都快崩溃了(你在应用程序清单中有必要的权限吗?我是android编程的新手!所以我不知道什么是堆栈跟踪!我如何才能获得堆栈跟踪。我使用Eclipse每次运行项目时,我都会发现消息布局已停止。我没有授予权限。我有另一个项目做了同样的事情,但我无法给出任何p。)这个项目是一个简单的项目,我把安装的应用程序作为一个列表,并将它直接应用到一个标准的ListVIEW中,而不是一个定制的。在这个项目中,我想定制ListVIEW。也许你应该考虑到你想做的是在你的深度之外,重新考虑。理解Android,理解Eclipse,Android SDK,Java。从其他地方复制/粘贴不会有帮助。我不能重新考虑和改变我所做的事情,因为这是我从大学得到的一个研究项目。我读了很多教程,我的脑子里都快崩溃了(我更正了您指出的错误,并清理了项目。然后,当我运行项目时,主活动刚刚启动,列表未显示。main.xml文件中定义了一个textview,它是唯一显示的内容。:(我更正了您指出的错误,并清理了项目。然后,当我运行项目时,主活动刚刚启动,列表未显示。main.xml文件中定义了一个textview,它是唯一显示的内容。:(