我在手机上运行这个应用程序就好了,然后,在更改任何内容后,我更改为安装在我的nexus 7.现在我收到此错误。
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.th3ramr0d.tc3studyguide.MainActivity.onCreate(MainActivity.java:37)
这是第37行的代码。
rateMe.setOnClickListener(new View.OnClickListener() {
这是setOnClickListener
的整个代码块Button rateMe = (Button)findViewById(R.id.rateMe);
rateMe.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.th3ramr0d.app"));
startActivity(intent);
}
});
XML文件
<Button
android:id="@+id/rateMe"
android:text="Rate Me"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
这在我的手机上运行得很好。然后我尝试将它安装在我的手机上,它现在给了我完全相同的错误。我试过了:
Gradle Sync
重建应用
清理应用
手机和平板电脑上已卸载的应用
重启两台设备
重新启动Android Studio
重新启动的计算机
OnCreate方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getSupportActionBar().hide();
boolean firstTimeRun = getFirstTimeRun();
if (firstTimeRun == true) {
firstTimeRun();
} else {
run();
}
Button rateMe = (Button)findViewById(R.id.rateMe);
ImageView prt = (ImageView)findViewById(R.id.prt);
ImageView pfp = (ImageView)findViewById(R.id.pfp);
rateMe.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.th3ramr0d.tc3studyguide"));
startActivity(intent);
}
});
prt.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.th3ramr0d.prtmanagerfree"));
startActivity(intent);
}
});
pfp.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=com.th3ramr0d.poundforpoundfree"));
startActivity(intent);
}
});
}
答案 0 :(得分:1)
您没有设置内容视图:
setContentView(R.layout.your_xml);