假设您希望从现有的View实现派生自己的View类,添加一些值,从而维护一些以有意义的方式表示View状态的变量.
如果您的View会像其他人一样自动保存其状态(如果已分配ID),那将是很好的,因此您可能希望覆盖onRestoreInstanceState()和onSaveInstanceState().
当然,您需要调用基类的相应方法,并且需要将状态信息与基类的信息组合在一起.
显然,这样做的唯一安全方法是将你的超级类包装Parcelable在一个自己的中,Parcelable这样键就不会混淆了.
现在,有View.BaseSavedState其有趣的getSuperState()方法,但我有点不明白这是如何真正增加价值,只是存储基类的Parcelable在Bundle随着派生视图的状态值并返回.另一方面,也许某些其他系统组件会期望所有InstanceState信息都是类型View.AbsSavedState(例如getSuperState()可以调用)?
您愿意分享的任何经历?
在版本 2.x的python 文档中,它明确指出有七种序列数据类型。文档在一段时间后继续讨论集合和元组(在同一页面上),这两者都没有包含在上述七个中。有谁知道究竟是什么使定义了一个序列类型?我的直觉定义具有非常适合该法案的集合和元组,而且我还没有找到明确的官方定义。
谢谢!
在网络超时情况下,Google Play应用内结算服务{ice,er} V3将返回哪些响应状态代码?它的所有功能都是统一的吗?
我有这个活动,我想验证确认密码字段.这是我的代码 - :
nt.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if(email.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("E-mail field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(pass.getText().toString().equals("")){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!");
alertDialog.setMessage("Password field is empty");
alertDialog.setButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
alertDialog.show();
}
else if(conpass.getText().toString()!= pass.getText().toString() ){
AlertDialog alertDialog = new AlertDialog.Builder(Registration.this).create();
alertDialog.setTitle("oops!"); …Run Code Online (Sandbox Code Playgroud)