新建一个类型为Preference 的XML文件,根元素为PreferenceScreen,里面PreferenceCategory元素下引用一个LinearLayout布局XML文件,布局文件里有一个EditText et
在相关的public class mainPreferenceActivity extends PreferenceActivity里面
对该EditText进行引用
类里先行申明: private EditText et;
然后在onCreat里: et = (EditText)findViewById(R.id.et);
最后在按钮的单击里:String sPhone = et.getText().toString(); 执行这一语句时报:空指针异常,前边一切正常,R文件里也正常生成了该 EditText,请问高手,如何解决这个异常?多谢,另:et.setText("123")语句同样报空指针异常
指针 异常 布局 xml
------解决方案--------------------
代码贴上来啊
------解决方案--------------------
setContentView(R.layout.setting);要这句干嘛?布局不是已经在addPreferencesFromResource(R.xml.preferences);里面设置了吗?怎么还有这句?
------解决方案--------------------
把xml也贴出来
------解决方案--------------------
你的edittext本来就是空啊,text值没数据...你给et.setText看看
------解决方案--------------------
我把xml复制进去还报错了... android:layout_toRightOf="@id/et2"这个id是没有的 而且LZ的布局混乱
<TextView android:id="@+android:id/title"
android:layout_alignParentLeft="true"
android:layout_centerInParent="true"
android:textColor="#000000"/>
<EditText
android:layout_alignParentBottom="true"
android:layout_toRightOf="@android:id/title"
/>
textview在中间,EditText在底部,toRightOf...
------解决方案--------------------
在执行操作的时候再绑定一次试试。
------解决方案--------------------
这里的null主要是getText()返回的,它是null的时候你再调用里面的方法toString()肯定会报错。我目前处理的方法是加 if(xxx.getText() != null),然后再写下面的代码,就可以保证不出错了。