2

Google ドキュメントのUp Navigation の提供では、複数のアクティビティを持つアプリケーションでUp ボタンを表示する方法について説明しています(AndroidManifest.xml で「親」アクティビティを指定することにより)。

スクリーンショット

ただし、単一のMainActivity と 3 つのフラグメントを持つBluetooth アプリケーション (で始まるminSdkVersion=18)に取り組んでいます。

  • MainFragment.java
  • SettingsFragment.java
  • ScanningFragment.java

したがって、基本クラスをActionBarActivity次のように変更しました。

public class MainActivity extends ActionBarActivity 
                          implements BleWrapperUiCallbacks {

そして、私はsetDisplayHomeAsUpEnabled(true)メソッドを呼び出します:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);  
    setContentView(R.layout.activity_root);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

これにより、アプリに[上へ] ボタンが表示されますが、まだ 3 つの質問があります。

  1. Up ボタンを非表示にする方法(MainFragment を表示している場合)?
  2. アップボタンを「配線」する方法- 現在タッチしても何も起きませんか?
  3. AndroidManifest.xml の次の行の代わりに何を使用すればよいですか?

android:theme="@android:style/Theme.Holo.NoActionBar"

4

1 に答える 1

2

このメソッドをオーバーライドすることで、上へのナビゲーションを提供するための 2 番目の質問に答えることができます。

public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
// Respond to the action bar's Up/Home button
case android.R.id.home:
    NavUtils.navigateUpFromSameTask(this);
    return true;
}
return super.onOptionsItemSelected(item);
}
于 2015-03-16T16:02:08.257 に答える