我是Android的新手,我从第4天开始就遇到了我的第一个应用程序。我尝试了关于android调试的每一篇文章,但没有帮助。
所以这是我的java代码。
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Example extends Activity {
TextView display;
int count;
Button k,j;
@Override
protected void onCreate(Bundle savedInstanceState) {
display=(TextView) findViewById(R.id.t1);
k=(Button) findViewById(R.id.b1);
j=(Button) findViewById(R.id.b2);
super.onCreate(savedInstanceState);
setContentView(R.layout.opencv_tracker);
k.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
count++;
display.setText("YOUR TOTAL IS "+count);
}
});
j.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
count--;
display.setText("YOUR TOTAL IS "+count);
}
});
}
}
我的Activity.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${packageName}.${activityClass}" >
<TextView
android:id="@+id/t1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="YOUR TOTAL IS 0"
android:textSize="35sp"
android:layout_gravity="center"
tools:ignore="HardcodedText" />
<Button
android:id="@+id/b1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/add"
android:textSize="25sp"/>
<Button
android:id="@+id/b2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/Hal"
android:textSize="25sp"/>
</LinearLayout>
并且logcat返回NPE错误。
E/AndroidRuntime( 1228): Caused by: java.lang.NullPointerException
我正在关注新波士顿的教程。该应用程序试图做的是一个简单的加法和减法。并显示总结果。
答案 0 :(得分:3)
这些代码:
display=(TextView) findViewById(R.id.t1);
k=(Button) findViewById(R.id.b1);
j=(Button) findViewById(R.id.b2);
把它放在这段代码之后:
super.onCreate(savedInstanceState);
setContentView(R.layout.opencv_tracker);
NPE主要在setOnClickListener上,因为这些k和j不是init