问题:

Android: couldn't save which view has focus because the focused view ### has no id

 

可能引起原因有两种,对应解决方法如下:

 

解决方案一:

 

<application

android:icon="@drawable/icon" android:label="@string/app_name" >

<activity

android:label="@string/app_name"

android:configChanges=" orientation|keyboardHidden|keyboard|screenLayout "

android:name=".Main" >

<intent-filter >

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

</application>

 

解决方案二:

 

What probably happened is that you created a thread in the surfaceCreated() method but didn’t stop it or get rid of it in the surfaceDestroy() method.

When you didn’t give a theme for the preferences, it took over the whole screen and your old surface was destroyed. But when you specified a dialog-like theme, the old surface was still there because it was visible underneath the preferences.

public void surfaceCreated(SurfaceHolder holder)
{
if (_thread == null || _thread.getState() == Thread.State.TERMINATED )
{
_thread = new TutorialThread(getHolder(), this);
_thread.setRunning(true);
_thread.start();
}
else
{
_thread.setRunning(true);
_thread.start();
}
}

This solved the problem for me, a thread’s start method cannot be called twice, so I had to reallocate…

http://forums.pragprog.com/forums/138/topics/4085