edittext setvisibility给出空异常
edittext setvisibility giving null exception
我正在尝试将我的 edittext 设置为在打开对话框时隐藏,但是当我选中复选框时它应该可见...此拨号盘在我的选项选择菜单中
不幸的是我收到了这个例外
07-31 15:23:31.129: E/AndroidRuntime(4143): FATAL EXCEPTION: main
07-31 15:23:31.129: E/AndroidRuntime(4143): java.lang.NullPointerException
07-31 15:23:31.129: E/AndroidRuntime(4143): at com.EVS.homeautomation.MainActivity.onOptionsItemSelected(MainActivity.java:1153)
这是代码
final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.testing);
dialog.setTitle("Configurations");
final EditText up_num=((EditText)findViewById(R.id.unum));
up_num.setVisibility(View.VISIBLE);
CheckBox cb= ((CheckBox) findViewById(R.id.checkBox1));
cb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
up_num.setVisibility(View.VISIBLE);
// perform logic
}
else
{
up_num.setVisibility(View.GONE);
}
}
});
您正在使 Dialog.So 中的 EditText 无效 您必须使用这种方式初始化此 EditText:
EditText up_num=((EditText) dialog.findViewById(R.id.unum));
谢谢
首先你必须膨胀视图然后你可以调用setContentView()
所以你可以试试:
final Dialog dialog = new Dialog(MainActivity.this);
LayoutInflater inflater1 = this.getLayoutInflater();
final View customview = inflater1.inflate(
R.layout.testing, null);
dialog.setContentView(customview);
dialog.setTitle("Configurations");
final EditText up_num=((EditText)findViewById(R.id.unum));
up_num.setVisibility(View.VISIBLE);
CheckBox cb= ((CheckBox) findViewById(R.id.checkBox1));
cb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
up_num.setVisibility(View.VISIBLE);
// perform logic
}
else
{
up_num.setVisibility(View.GONE);
}
}
});
希望对您有所帮助:)
我正在尝试将我的 edittext 设置为在打开对话框时隐藏,但是当我选中复选框时它应该可见...此拨号盘在我的选项选择菜单中 不幸的是我收到了这个例外
07-31 15:23:31.129: E/AndroidRuntime(4143): FATAL EXCEPTION: main 07-31 15:23:31.129: E/AndroidRuntime(4143): java.lang.NullPointerException 07-31 15:23:31.129: E/AndroidRuntime(4143): at com.EVS.homeautomation.MainActivity.onOptionsItemSelected(MainActivity.java:1153)
这是代码
final Dialog dialog = new Dialog(MainActivity.this);
dialog.setContentView(R.layout.testing);
dialog.setTitle("Configurations");
final EditText up_num=((EditText)findViewById(R.id.unum));
up_num.setVisibility(View.VISIBLE);
CheckBox cb= ((CheckBox) findViewById(R.id.checkBox1));
cb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
up_num.setVisibility(View.VISIBLE);
// perform logic
}
else
{
up_num.setVisibility(View.GONE);
}
}
});
您正在使 Dialog.So 中的 EditText 无效 您必须使用这种方式初始化此 EditText:
EditText up_num=((EditText) dialog.findViewById(R.id.unum));
谢谢
首先你必须膨胀视图然后你可以调用setContentView()
所以你可以试试:
final Dialog dialog = new Dialog(MainActivity.this);
LayoutInflater inflater1 = this.getLayoutInflater();
final View customview = inflater1.inflate(
R.layout.testing, null);
dialog.setContentView(customview);
dialog.setTitle("Configurations");
final EditText up_num=((EditText)findViewById(R.id.unum));
up_num.setVisibility(View.VISIBLE);
CheckBox cb= ((CheckBox) findViewById(R.id.checkBox1));
cb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
up_num.setVisibility(View.VISIBLE);
// perform logic
}
else
{
up_num.setVisibility(View.GONE);
}
}
});
希望对您有所帮助:)