关于EditText获取值的问题

qqyoya 2017-12-14 09:19:51
TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null);
new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_dialog_icon)
.setTitle("设置")
.setView(loginForm)
.setPositiveButton("确认", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,int wichh)
{
EditText et = (EditText)findViewById(R.id.IPtext);
String value = et.getText().toString().trim();
if(value.length()==0)
{
Toast.makeText(MainActivity.this,"请输入ip", Toast.LENGTH_LONG).show();
}

Log.w(TAG,"########################"+value);
}
})




在String value = et.getText().toString().trim();这句报错了。。。为啥啊-、-我输入了值不行啊



xml里的
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请填写IP地址"
android:id="@+id/IPtext"
android:phoneNumber="true"
android:selectAllOnFocus="true" />
</TableRow>

报错为java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
...全文
227 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqyoya 2017-12-14
  • 打赏
  • 举报
回复
引用 2 楼 cxz003 的回复:
错误点是 EditText et = (EditText)findViewById(R.id.IPtext); 这里的et是null TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null); 改成 final TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null); EditText et = (EditText)findViewById(R.id.IPtext); 改成 EditText et = (EditText)loginForm.findViewById(R.id.IPtext); 试试
谢谢~可以了~
  • 打赏
  • 举报
回复
错误点是 EditText et = (EditText)findViewById(R.id.IPtext); 这里的et是null TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null); 改成 final TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null); EditText et = (EditText)findViewById(R.id.IPtext); 改成 EditText et = (EditText)loginForm.findViewById(R.id.IPtext); 试试
yogkin 2017-12-14
  • 打赏
  • 举报
回复
出现这情况大概有两种原因,详细如下:
TableLayout loginForm=(TableLayout)getLayoutInflater().inflate(R.layout.send_data, null);
new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_dialog_icon)
.setTitle("设置")
.setView(loginForm)
.setPositiveButton("确认", new OnClickListener()
{
@Override
public void onClick(DialogInterface dialog,int wichh)
{
EditText et = (EditText)findViewById(R.id.IPtext); //1、布局文件没有这个ID,2、找错了布局文件(尝试EditText et = (EditText)loginForm.findViewById(R.id.IPtext))
String value = et.getText().toString().trim(); 
if(value.length()==0)
{
Toast.makeText(MainActivity.this,"请输入ip", Toast.LENGTH_LONG).show();
}

Log.w(TAG,"########################"+value);
}
})

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧