Android 什么';这有什么不对吗??它';投掷误差
下面是我动态添加按钮的代码。运行时抛出错误。有什么想法吗?:) 错误日志:Android 什么';这有什么不对吗??它';投掷误差,android,android-layout,Android,Android Layout,下面是我动态添加按钮的代码。运行时抛出错误。有什么想法吗?:) 错误日志: 09-17 11:44:34.658: D/AndroidRuntime(655): Shutting down VM 09-17 11:44:34.658: W/dalvikvm(655): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 09-17 11:44:34.699: E/AndroidRuntime(655): FA
09-17 11:44:34.658: D/AndroidRuntime(655): Shutting down VM 09-17 11:44:34.658: W/dalvikvm(655): threadid=1: thread exiting with uncaught exception (group=0x40a13300)
09-17 11:44:34.699: E/AndroidRuntime(655): FATAL EXCEPTION: main
09-17 11:44:34.699: E/AndroidRuntime(655): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.projects.myworldsafe/com.projects.myworldsafe.Settings}: java.lang.NullPointerException
09-17 11:44:34.699: E/AndroidRuntime(655): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
您尚未初始化
relativeLayout
。如果您正在以编程方式设置relativeLayout
,请尝试:
relativeLayout = new RelativeLayout(this);
如果它首先在布局文件中,则需要找到它,如:
relativeLayout = (RelativeLayout) this.findViewById(R.id.your_layout_id);
对于
DatabaseHandler db
来说,同样的事情,您还没有初始化relativeLayout
。如果您正在以编程方式设置relativeLayout
,请尝试:
relativeLayout = new RelativeLayout(this);
如果它首先在布局文件中,则需要找到它,如:
relativeLayout = (RelativeLayout) this.findViewById(R.id.your_layout_id);
与
数据库处理程序db同样的事情我想你在第一次使用之前忘记初始化db
和相对值。我想你在第一次使用之前忘了初始化db
和相对值。根据我的估计,你需要给出布局对于相对布局
RelativeLayout = (RelativeLayout) this.findViewById(R.id.relativeID);
根据我的计算,您需要给出相对布局的布局
RelativeLayout = (RelativeLayout) this.findViewById(R.id.relativeID);
试试这个
DatabaseHandler db;
private RelativeLayout relativeLayout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
boolean userCounts = db.getUserExistance();
relativeLayout = (RelativeLayout) this.findViewById(R.id.myRelativeLayout);
if(userCounts == false){
Button button= new Button(this);
button.setText("Add password");
relativeLayout.addView(button);
}
else if(userCounts == true){
Button button2 = new Button(this);
button2.setText("Change password");
relativeLayout.addView(button2);
}
}
试试这个
DatabaseHandler db;
private RelativeLayout relativeLayout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings);
boolean userCounts = db.getUserExistance();
relativeLayout = (RelativeLayout) this.findViewById(R.id.myRelativeLayout);
if(userCounts == false){
Button button= new Button(this);
button.setText("Add password");
relativeLayout.addView(button);
}
else if(userCounts == true){
Button button2 = new Button(this);
button2.setText("Change password");
relativeLayout.addView(button2);
}
}
上传带有问题的错误日志:)发布stacktrace怎么样?不幸的是,我们的心灵感应正在休假。09-17 11:44:34.658:D/AndroidRuntime(655):关闭VM 09-17 11:44:34.658:W/dalvikvm(655):threadid=1:线程以未捕获异常退出(组=0x40a13300)09-17 11:44:34.699:E/AndroidRuntime(655):致命异常:main 09-17 11:44:34.699:E/AndroidRuntime(655):java.lang.RuntimeException:无法启动活动组件信息{com.projects.myworldsafe/com.projects.myworldsafe.Settings}:java.lang.NullPointerException 09-17 11:44:34.699:E/AndroidRuntime(655):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)@Konstantin Pribluda:)上传错误日志,问题是:)发布stacktrace怎么样?不幸的是,我们的心灵感应正在休假。09-17 11:44:34.658:D/AndroidRuntime(655):关闭VM 09-17 11:44:34.658:W/dalvikvm(655):threadid=1:线程以未捕获异常退出(组=0x40a13300)09-17 11:44:34.699:E/AndroidRuntime(655):致命异常:main 09-17 11:44:34.699:E/AndroidRuntime(655):java.lang.RuntimeException:无法启动活动组件信息{com.projects.myworldsafe/com.projects.myworldsafe.Settings}:java.lang.NullPointerException 09-17 11:44:34.699:E/AndroidRuntime(655):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)@Konstantin Pribluda:)您是否在布局xml中使用了相对布局,或者是通过活动中的代码创建相对布局。如果您是以编程方式添加相对布局,请使用,relativeLayout=new relativeLayout(this);代替relativeLayout=(relativeLayout)this.findViewById(R.id.myRelativeLayout)。您是否在布局xml中使用过相对布局,或者是通过活动中的代码创建相对布局。如果是以编程方式添加相对布局,请使用,relativeLayout=new relativeLayout(this);代替relativeLayout=(relativeLayout)this.findViewById(R.id.myRelativeLayout)。初始化数据库类时解决的问题如下:)DatabaseHandler db=new DatabaseHandler(this);(DatabaseHandler db;--old)??初始化数据库类时解决的问题如下:)DatabaseHandler db=new DatabaseHandler(this);(DatabaseHandler db;--old)???