用户界面不响应屏幕方向-Android

用户界面不响应屏幕方向-Android,android,Android,我正在用mediaplayer开发一个应用程序。我用两种布局处理屏幕方向。我使用了onsavedInstancestate和OnRestoreInstanceState。屏幕旋转时,布局更改,mediaplayer状态保留,但UI没有响应 我已保存并保留mediaplayer对象的状态 public Object onRetainNonConfigurationInstance() { HashMap<String,Object

我正在用mediaplayer开发一个应用程序。我用两种布局处理屏幕方向。我使用了onsavedInstancestate和OnRestoreInstanceState。屏幕旋转时,布局更改,mediaplayer状态保留,但UI没有响应

我已保存并保留mediaplayer对象的状态

   public  Object  onRetainNonConfigurationInstance() 
         {
                HashMap<String,Object> player = new HashMap<String,Object>();
                MediaPlayer instance = mp;
                mp = null;
                MediaPlayer instance1 = mp1;
                mp1 = null;
                player.put("mp", instance);
                player.put("mp1", instance1);
                return player;

          }

 if(getLastNonConfigurationInstance()!=null)
                {

                 playerhandle = (HashMap<String, Object>) getLastNonConfigurationInstance();
                 mp = (MediaPlayer)playerhandle.get("mp");
                 if (mp == null) 
                 {
                    mp = new MediaPlayer();
                 }
                 mp1 = (MediaPlayer)playerhandle.get("mp1");
                 if (mp1 == null) 
                 {
                   mp1 = new MediaPlayer();
                 }
                 }        

并且还使用onsavedinstancestate和onrestoreinstancestate保留数据。mediaplayer保留屏幕方向后的状态音频播放不解释屏幕方向,但用户界面在方向更改后不响应。无法解决这个问题

如果要将onCreate中的click侦听器添加到按钮中,则需要将侦听器添加到OnConfiguration Changed中创建的新按钮对象中

<>你可以考虑在你的XML文件中使用Android:OnCutle属性,而不是在代码中设置点击侦听器。这是避免这个问题的好方法

要使用android:onClick from XML,请执行以下操作:

<Button
    android:id="@+id/addnote"
    android:onClick="addNoteMethod"
    ....
    />
android:onClick方法的名称完全是任意的;它只需将活动中的方法与适当的签名void视图相匹配。单击时将调用该方法,调用方式与onClick侦听器调用onClick方法完全相同


使用android:onClick时,您不需要调用setOnClickListener,甚至不需要检索对onCreate中按钮的引用,除非您需要它来做其他事情。

我已经编辑了这个问题。请提供建议
public void addNoteMethod(View view) {
    createNote();
}