昨日私はアンドロイドの机の時計を作成しました。このために、Hour、分などを表示するRelativeLayoutを作成し、オプションAbout、Exitを表示するメニューを作成しました。うーん、すべてうまくいきますが、About Optionをクリックすると問題が発生します。 LogCatはこの例を示します子供の親のremoveView()を呼び出す
は、だから私はあなたが私を助けることができると思いますE/AndroidRuntime(14751): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.iamaner.T2Speech/com.iamaner.T2Speech.FrmAbout}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
... アイブ氏は、このコードについて聞いたが、私はそれを置くと、どのように場所を知らない、私はこれがOKだろうと思ったが、それここで
final RelativeLayout fondo = (RelativeLayout)findViewById(R.id.your_layout);((RelativeLayout)fondo.getParent()).removeView(fondo); //scrollView.removeView(scrollChildLayout);
は私が考えるマニフェストファイルの問題、iはないようです、ここでFrmAboutコード
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TimeToSpeechActivity"
android:label="@string/app_name"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".FrmAbout" />
</application>
をそして:知らない
public class FrmAbout extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frmabout);
TextView txtVersion = (TextView)findViewById(R.id.Txtversion);
TextView txtWarning = (TextView)findViewById(R.id.Txtwarning);
TextView txtInstructions = (TextView)findViewById(R.id.Txtinstructions);
TextView txtContact = (TextView)findViewById(R.id.Txtcontact);
setContentView(txtVersion);
setContentView(txtWarning);
setContentView(txtInstructions);
setContentView(txtContact);
}
}
[OK]を、それを解決し....問題だったsetcontentview()メソッドを、それを削除し、今では動作します
これを試してください:((ViewGroup)scrollChildLayout.getParent())。removeallViews(); http://stackoverflow.com/questions/6526874/call-removeview-on-the-childs-parent-first –