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);