小编cla*_*ker的帖子

使用View.BaseSavedState覆盖View.onSaveInstanceState()和View.onRestoreInstanceState()?

假设您希望从现有的View实现派生自己的View类,添加一些值,从而维护一些以有意义的方式表示View状态的变量.

如果您的View会像其他人一样自动保存其状态(如果已分配ID),那将是很好的,因此您可能希望覆盖onRestoreInstanceState()onSaveInstanceState().

当然,您需要调用基类的相应方法,并且需要将状态信息与基类的信息组合在一起.

显然,这样做的唯一安全方法是将你的超级类包装Parcelable在一个自己的中,Parcelable这样键就不会混淆了.

现在,有View.BaseSavedState其有趣的getSuperState()方法,但我有点不明白这是如何真正增加价值,只是存储基类的ParcelableBundle随着派生视图的状态值并返回.另一方面,也许某些其他系统组件会期望所有InstanceState信息都是类型View.AbsSavedState(例如getSuperState()可以调用)?

您愿意分享的任何经历?

android android-custom-view android-view

15
推荐指数
2
解决办法
8947
查看次数

为什么 Python 集不被视为序列?

版本 2.xpython 文档中,它明确指出有七种序列数据类型。文档在一段时间后继续讨论集合和元组(在同一页面上),这两者都没有包含在上述七个中。有谁知道究竟是什么使定义了一个序列类型?我的直觉定义具有非常适合该法案的集合和元组,而且我还没有找到明确的官方定义。

谢谢!

set sequence

6
推荐指数
1
解决办法
854
查看次数

Android:在超时后,应用内结算V3会返回哪些响应代码?

在网络超时情况下,Google Play应用内结算服务{ice,er} V3将返回哪些响应状态代码?它的所有功能都是统一的吗?

android in-app-billing google-play

6
推荐指数
1
解决办法
6244
查看次数

android中的密码验证确认

我有这个活动,我想验证确认密码字段.这是我的代码 - :

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)

java android string-comparison

3
推荐指数
1
解决办法
2万
查看次数