Android:RadioButton中的空指针异常
我有两个屏幕 第一个屏幕:我有一个添加按钮和Android:RadioButton中的空指针异常,android,Android,我有两个屏幕 第一个屏幕:我有一个添加按钮和Listview。首先,当我单击添加按钮时,它将转到第二个屏幕 详细信息屏幕:我正在添加员工详细信息,如姓名、公司名称、性别、经验、职务名称。输入详细信息后,我单击保存按钮。我正在数组列表中存储此详细信息 错误:类型详细信息中的方法setGen(字符串)不适用于参数(int) 主课 public class MainActivity extends ActionBarActivity { ImageView addIma
Listview
。首先,当我单击添加按钮时,它将转到第二个屏幕
详细信息屏幕:我正在添加员工详细信息,如姓名、公司名称、性别、经验、职务名称。输入详细信息后,我单击保存按钮。我正在数组列表中存储此详细信息
错误:类型详细信息中的方法setGen(字符串)不适用于参数(int)
主课
public class MainActivity extends ActionBarActivity {
ImageView addImage;
ListView listView;
// creating ArrayList
ArrayList<Details> listdetails = new ArrayList<Details>();
// creating ArrayAdapter
ArrayAdapter<Details> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) findViewById(R.id.listView);
//
addImage = (ImageView) findViewById(R.id.addImage);
addImage.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(),
DetailsScreen.class);
startActivity(i);
finish();
}
});
if (listdetails != null) {
// ArrayList<Details> listdetails=DetailsScreen.saveDetails();
adapter = new ArrayAdapter<Details>(this,
R.layout.activity_listview, listdetails);
listView.setAdapter(adapter);
Log.d("Details", "Details screen" + listdetails);
//
}
}
日志:
04-08 02:30:12.454: E/AndroidRuntime(1112): FATAL EXCEPTION: main
04-08 02:30:12.454: E/AndroidRuntime(1112): Process: com.example.detailswithsave, PID: 1112
04-08 02:30:12.454: E/AndroidRuntime(1112): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.detailswithsave/com.example.detailswithsave.MainActivity}: java.lang.NullPointerException
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.os.Handler.dispatchMessage(Handler.java:102)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.os.Looper.loop(Looper.java:136)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-08 02:30:12.454: E/AndroidRuntime(1112): at java.lang.reflect.Method.invokeNative(Native Method)
04-08 02:30:12.454: E/AndroidRuntime(1112): at java.lang.reflect.Method.invoke(Method.java:515)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-08 02:30:12.454: E/AndroidRuntime(1112): at dalvik.system.NativeStart.main(Native Method)
04-08 02:30:12.454: E/AndroidRuntime(1112): Caused by: java.lang.NullPointerException
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.example.detailswithsave.DetailsScreen.saveDetails(DetailsScreen.java:69)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.example.detailswithsave.MainActivity.onCreate(MainActivity.java:55)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.Activity.performCreate(Activity.java:5231)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-08 02:30:12.454: E/AndroidRuntime(1112): ... 11 more
将调用细节对象设置器的代码部分更改为以下代码:
Details details = new Details();
details.setname(name.getText().toString());
details.setcmpny(cmpny.getText().toString());
details.setDisig(disig.getText().toString());
details.setAge(age.getText().toString());
details.setExp(exp.getText().toString());
int sel = radioGroup.getCheckedRadioButtonId();
btnMale = (RadioButton) findViewById(sel);
String gen = btnMale.getText().toString();
details.setGen(gen);
Arraydetails.add(details);
那么,你的代码在哪里?嗨,Yuva,请打开这个链接,你传递的是int值而不是StringWhich单选按钮?请张贴您的日志…嗨,阿朱,哈。。。如何将radiobutton int值转换为字符串。但是,我有Arraylist如何将radiobutton详细信息添加到Arraylist Hi Arlind,我在这里遇到错误btnMale=(radiobutton)findViewById(sel);findViewById无法从Activitystatic单选按钮Btname类型对非静态方法findViewById(int)进行静态引用;静态收音机按钮btnFemale;从声明中删除static当我删除static btnMale和btnFemale时,错误显示“无法对非静态字段btnMale进行静态引用”从saveDetails()、btnMale和btnFemale中删除static
public class Details {
private String name;
private String cmpny;
private String exp;
private String disig;
private String age;
private String gen;
public String getname() {
return name;
}
public String getExp() {
return exp;
}
public void setExp(String exp) {
this.exp = exp;
}
public String getDisig() {
return disig;
}
public void setDisig(String disig) {
this.disig = disig;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getGen() {
return gen;
}
public void setGen(String gen) {
this.gen = gen;
}
public void setname(String name) {
this.name = name;
}
public String getcmpny() {
return cmpny;
}
public void setcmpny(String cmpny) {
this.cmpny = cmpny;
}
}
04-08 02:30:12.454: E/AndroidRuntime(1112): FATAL EXCEPTION: main
04-08 02:30:12.454: E/AndroidRuntime(1112): Process: com.example.detailswithsave, PID: 1112
04-08 02:30:12.454: E/AndroidRuntime(1112): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.detailswithsave/com.example.detailswithsave.MainActivity}: java.lang.NullPointerException
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.access$800(ActivityThread.java:135)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.os.Handler.dispatchMessage(Handler.java:102)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.os.Looper.loop(Looper.java:136)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.main(ActivityThread.java:5017)
04-08 02:30:12.454: E/AndroidRuntime(1112): at java.lang.reflect.Method.invokeNative(Native Method)
04-08 02:30:12.454: E/AndroidRuntime(1112): at java.lang.reflect.Method.invoke(Method.java:515)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-08 02:30:12.454: E/AndroidRuntime(1112): at dalvik.system.NativeStart.main(Native Method)
04-08 02:30:12.454: E/AndroidRuntime(1112): Caused by: java.lang.NullPointerException
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.example.detailswithsave.DetailsScreen.saveDetails(DetailsScreen.java:69)
04-08 02:30:12.454: E/AndroidRuntime(1112): at com.example.detailswithsave.MainActivity.onCreate(MainActivity.java:55)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.Activity.performCreate(Activity.java:5231)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-08 02:30:12.454: E/AndroidRuntime(1112): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-08 02:30:12.454: E/AndroidRuntime(1112): ... 11 more
Details details = new Details();
details.setname(name.getText().toString());
details.setcmpny(cmpny.getText().toString());
details.setDisig(disig.getText().toString());
details.setAge(age.getText().toString());
details.setExp(exp.getText().toString());
int sel = radioGroup.getCheckedRadioButtonId();
btnMale = (RadioButton) findViewById(sel);
String gen = btnMale.getText().toString();
details.setGen(gen);
Arraydetails.add(details);