我正在尝试为我正在创建的库创建一个测试应用。调用我的库时,它会创建一个intent并启动一个活动。
intent = new Intent(getApplicationContext(), video_on_load.class);
myLib.this.startActivity(intent);
我的程序似乎我的程序在创建新的Intent时崩溃了。我试着为什么会这样,我在我的应用程序中看到我必须将活动发送到AndroidManafest,所以我将以下行添加到我的清单中:
activity android:name="com.example.myLib.video_on_load"></activity>
然而,我的应用程序仍在崩溃,并显示消息“不幸的是,TestApp已经停止了”。我不确定如何继续。我对android编程很新,所以它可能是我想念的简单。如果您需要任何其他有助于调试此问题的信息,请与我们联系。
我的video_on_load类如下:
public class video_on_load extends Activity {
private RelativeLayout layout;
private ProgressBar progressBar;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video_on_load);
layout = (RelativeLayout) findViewById(R.id.video_onLoad_layout);
progressBar = (ProgressBar) findViewById(R.id.video_onLoad_progress);
}
编辑:
Relevent LogCat:
12-28 17:53:23.824: E/AndroidRuntime(25042): java.lang.NullPointerException
12-28 17:53:23.824: E/AndroidRuntime(25042): at android.content.ContextWrapper.getPackageName(ContextWrapper.java:135)
12-28 17:53:23.824: E/AndroidRuntime(25042): at android.content.ComponentName.<init>(ComponentName.java:75)
12-28 17:53:23.824: E/AndroidRuntime(25042): at android.content.Intent.<init>(Intent.java:3491)
video_on_load.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/video_onLoad_layout" >
<ProgressBar android:id="@+id/video_onLoad_progress"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
style="@android:style/Widget.ProgressBar.Large" />
</RelativeLayout>
谢谢
答案 0 :(得分:1)
更改
intent = new Intent(getApplicationContext(), video_on_load.class);
myLib.this.startActivity(intent);
成:
intent = new Intent(this, video_on_load.class);
startActivity(intent);
只要您将此代码放在Activity中的某个位置,就应该很好。注意,a应用程序具有上下文,应用程序具有活动,而活动也具有上下文。尝试阅读有关活动和上下文的一些文档,以便更好地理解。
您的错误消息显示您的调用中的某些内容为空,并且它与getApplicationContext()相关。祝你好运
答案 1 :(得分:0)
您没有遵循命名约定,因此可能会令人困惑。您的布局是“R.layout.video_on_load”,您的嵌套相对布局是“R.layout.video_onLoad_layout”。该ID是否实际在XML布局文件中声明为“R.layout.video_on_load”,或者当您调用findViewById(id)时,您的进度条可能不存在会导致您的Null指针错误。我们可以看到您的布局的XML文件吗?
更正您要分配给变量的资源ID。