私は、アプリケーションのコンテンツビューにオーバーレイビューを追加しました。戻るボタンにアクションを追加します。
デフォルトの戻るボタン機能を使用する前に、このオーバーレイビューを削除するために、戻るボタンにアクションを追加します。
この問題を解決するにはどうすればよいでしょうか?
ありがとうございます。
私は、アプリケーションのコンテンツビューにオーバーレイビューを追加しました。戻るボタンにアクションを追加します。
デフォルトの戻るボタン機能を使用する前に、このオーバーレイビューを削除するために、戻るボタンにアクションを追加します。
この問題を解決するにはどうすればよいでしょうか?
ありがとうございます。
このシナリオに対する私のソリューションは、ユーザーがアプリケーション内のどこにいるのかをグローバルに示すことです。例えば
、この(ストレート私の現在のプロジェクトからの)考えてみます。
//...
private boolean mInSettingsMode;
//...
// The button's onclick method.
public void onSettingsButtonClick(View v) {
mInSettingsMode = true;
// Initialize view stuff.
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (mInSettingsMode) {
mInSettingsMode = false;
resetToNormalView();
return true;
} else {
return super.onKeyDown(keyCode, event);
}
}
return super.onKeyDown(keyCode, event);
}
onKeyDown()メソッドを実装し、keyCodeが戻っているかどうかを確認する必要があります。はいの場合、あなたは何でもしたいことができます。
希望すると便利です。
にonKeyDown ...は、その活動の方法とは? –
それはあなたがオーバーライドする必要がありますアクティビティのメソッドです –
をあなたはonBackPressed()
をオーバーライドする必要があります。
@Override
public void onBackPressed()
{
// Add your code here
// Then call the parent constructor to have the default button functionality
super.onBackPressed();
}
これは残念ながらAndroid 2.0以降のみです。私はAndroid 4.0の出現でおそらく1.6をサポートすることを止めるのが最善だと思いますが。 –
私は同意します.Android 1.6は現在、市場シェア(http://developer.android.com/resources/dashboard/platform-versions.html)のわずか1.3%を占めており、一般的にはそれをサポートしようとすると膨大な時間を費やしています。 – Dalmas
クールな感謝、私はそれをやった。 :)私はメソッドを書き直しましたが、 'if(keyCode == KeyEvent.KEYCODE_BACK && mInSettingsMode){'だから 'return super.onKeyDown(keyCode、event);'ステートメントだけを持っています。先端に感謝します。 –