Webブラウザを表示するための簡単なACTION.VIEWアクティビティを開始しています。しかし、ユーザーが「戻る」キーを押すと、最初のアプリケーションに戻ります。すべての主要なUI要素が消えたことを除いて、アプリケーションは完全に機能しています。
誰もが理由を知っていますか?
これが私がウェブブラウザを起動する方法です:
//Go to web page
ImageButton web = (ImageButton) _gears.findViewById(R.id.Web);
web.setOnClickListener(
new View.OnClickListener()
{
@Override
public void onClick(View v)
{
try
{
String url = "http://apps.toonboom.com/flip-boom-lite-ipad";
Intent i = new Intent(Intent.ACTION_VIEW);
Uri u = Uri.parse(url);
i.setData(u);
_mainActivity.startActivity(i);
}
catch (ActivityNotFoundException e)
{
// Raise on activity not found
Toast.makeText(_mainActivity.getApplicationContext(), "Browser not found.", Toast.LENGTH_SHORT);
}
}
});
そのブラウザページから戻ると、onStart()とonResume()が通常どおり呼び出されます。私が理解していないのは、戻るボタンとホームボタンのライフサイクルが完全に機能しているということです。ユーザーは手動でアプリを離れて、UIの問題なしに戻ることができます。この問題は、startActivity()呼び出しから戻ったときにのみ発生しますか?
また、特定のUI値を保持する必要はありません....レイアウトに表示したいだけです;)
編集
描画に使用するglesビューがあり、他のUI要素の前に表示されると思います。しかし、その場合はなぜかわかりません。
これがxmlとonCreateメソッドの一部です:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/MainLayout">
<!-- This is a dummy layout so we can add our custom GlView dynamically to this relative position -->
<LinearLayout
android:id="@+id/SurfaceViewLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"/>
<!-- This is a dummy layout so we can add the timeline dynamically to this relative position -->
<HorizontalScrollView
android:id="@+id/TlScroller"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_margin="0dip"
android:padding="0dip"
android:scrollbars="none"
android:fillViewport="false"
android:scrollbarFadeDuration="0"
android:scrollbarDefaultDelayBeforeFade="0"
android:fadingEdgeLength="0dip"
android:scaleType="centerInside">
<!-- HorizontalScrollView can only host one direct child -->
<LinearLayout
android:id="@+id/TimelineContent"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_margin="0dip"
android:padding="0dip"
android:scaleType="centerInside"/>
</HorizontalScrollView >
<RelativeLayout
android:id="@+id/BottomTools"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/TlScroller" >
<ImageButton
android:id="@+id/PaletteBtn"
android:layout_width="30dip"
android:layout_height="30dip"
android:background="@android:color/transparent"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="5dip"
android:layout_marginBottom="60dip"
android:src="@drawable/palette44x44"
android:scaleType="centerInside"/>
<RelativeLayout
android:id="@+id/PadLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:src="@drawable/pad_btn"
android:scaleType="centerInside">
<ImageButton
android:id="@+id/PadBtn"
android:layout_width="75dip"
android:layout_height="75dip"
android:background="@android:color/transparent"
android:layout_centerInParent="true"
android:src="@drawable/pad_btn"
android:scaleType="centerInside"/>
<TextView
android:id="@+id/FrameCounter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="0dip"
android:padding="0dip"
android:layout_centerInParent="true"
android:textColor="#000000"
android:text="#/x"/>
</RelativeLayout>
<ImageButton
android:id="@+id/PreviousBtn"
android:layout_width="40dip"
android:layout_height="40dip"
android:background="@android:color/transparent"
android:layout_toLeftOf="@+id/PadLayout"
android:layout_alignParentBottom="true"
android:layout_marginBottom="15dip"
android:src="@drawable/previous_btn"
android:scaleType="centerInside"
android:scaleHeight="30%"
android:scaleWidth="30%"/>
// Goes like that with other ImageButton till the end bracket
= = =
@Override protected void onCreate(Bundle icicle)
{
super.onCreate(icicle);
//Set the main layout element
setContentView(R.layout.ui);
// Then most buttons are created like this . . .
//Create the tools pop-up menu
ImageButton toolBtn = (ImageButton) this.findViewById(R.id.CurrentToolBtn);
_tools = new ToolsPopup(toolBtn);
}