相关疑难解决方法(0)

请问如何使用onSavedInstanceState示例

归结为拯救一个州,我很困惑.所以我知道onSaveInstanceState(Bundle)当活动即将被销毁时会被调用.但是,如何将信息存储在其中并将其恢复到原始状态onCreate(Bundle savedInstanceState)?我不明白这个捆绑包将如何恢复信息.如果有人可以提供一个例子,那将会很有帮助.开发指南没有很好地解释这一点.

public class Conversation extends Activity {
    private ProgressDialog progDialog;
    int typeBar;
    TextView text1;
    EditText edit;
    Button respond;
    private String name;
    private String textAtView;
    private String savedName;

    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        setContentView(R.layout.dorothydialog);
        text1 = (TextView)findViewById(R.id.dialog);
        edit = (EditText)findViewById(R.id.repsond);
        respond = (Button)findViewById(R.id.button01);

        if(savedInstanceState != null){
            savedInstanceState.get(savedName);
            text1.setText(savedName);
        }
        else{
            text1.setText("Hello! What is your name?");
            respond.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    name = edit.getText().toString();
                    text1.setText("Nice to meet you "+ name);
                }   
            });
        } …
Run Code Online (Sandbox Code Playgroud)

android savestate

102
推荐指数
4
解决办法
11万
查看次数

确定片段重启是否是由于屏幕旋转或Viewpager滑动造成的?

我有一个ActivityViewPager.在ViewPager有很多的网页,就像一本书.每个片段都有RecyclerViews很多内容.以下是我的用例

1 - 当我滑动页面时,RecyclerView必须从列表的开头开始.2.如果我旋转设备,它应该从旋转之前离开的位置的确切位置读取.

如果我不使用任何逻辑,第二种情况可以完美运行.即旋转.但不是第一种情况.

如果我做一些如下的逻辑.有助于实现第一种情况,但不是第二种情况.

  @Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
    if (savedInstanceState==null) {
        mIsFirstTime = true;
    }
}

@Override
public void onResume() {
    super.onResume();
    try {
        getActivity().invalidateOptionsMenu();
            if (!mIsFirstTime) {
                mListView.scrollToPosition(0);                
            }
    } catch (Exception e) {
        e.printStackTrace();
    }

}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是

如何确定片段重启是由于屏幕旋转还是Viewpager滑动?

我已经试过了onConfigurationChanged(Configuration newConfig).但它对我没有帮助.请你帮助我好吗

android rotation android-configchanges android-viewpager android-recyclerview

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