我对Android编程颇为陌生。我今天下载了Android Studio并开始了一个新项目。我用下面的代码向textview添加了一个空行为。Android包管理器列表导致应用程序崩溃
XML:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/textView1"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
主要代码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int flags = PackageManager.GET_META_DATA |
PackageManager.GET_SHARED_LIBRARY_FILES |
PackageManager.GET_UNINSTALLED_PACKAGES;
PackageManager pm = getPackageManager();
List<ApplicationInfo> applications = pm.getInstalledApplications(flags);
List<String> applicationsInstalled = new ArrayList<String>();
for (ApplicationInfo appInfo : applications) {
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
// System application
} else {
// Installed by user
applicationsInstalled.add(appInfo.name);
}
}
TextView tv1 = (TextView)findViewById(R.id.textView1);
for (String app : applicationsInstalled)
{
tv1.append(app);
}
setContentView(R.layout.activity_main);
}
}
出于某种原因,只要它启动应用程序崩溃。如果我删除我写的代码,并且只保留到
setContentView(R.layout.activity_main);
它工作正常,但是为空。
编辑:堆栈跟踪https://pastebin.com/dHHygFkQ
能否请您编辑和添加您的堆栈跟踪? – fbwnd
@fbwnd我只是将堆栈跟踪选项添加到命令行(用google搜索,idk是什么)。我在哪里看到它的输出? – Haardik
你可以从AndroidStudio中看到它。 如果您更喜欢命令行 请使用:adb logcat -s AndroidRuntime 并在此处粘贴输出(当它崩溃时) – fbwnd