Intereting Posts
Как включить самозаверяющий сертификат для сокетов SSL на Android? Запись PCM записанных данных в WAV-файл (java android) Загрузка WebView открывает окно браузера на короткое время, прежде чем вернуться в WebView Как выпустить AAR с другой зависимостью проекта библиотеки Android? Как заставить весь макет просмотреть обновление? Установка EditText на одну строку позволяет потерять фокус после нажатия кнопки enter Функция Samsung «Оптимизация приложения» отключает фоновые приложения через 3 дня Покупки и Gradle для покупок в LibGDX SharedUserId: безопасно менять, когда приложение уже находится на рынке? Проблема с загрузкой изображения Picasso в GoogleMap.InfoWindowAdapter Как изменить цвет фона TextView на начальное значение Обновление растрового изображения ImageView внутри фрагмента Удалить элемент в arrayList, java.lang.UnsupportedOperationException Галактика s4 и, возможно, все HD-телефоны? Ошибка раздувания памяти FragmentTransaction до и после обратного вызова setCustomAnimation

Включить домашнюю кнопку ActionbarSherlock, Sherlockfragment

Я хочу включить кнопку дома в моем фрагменте. Этот вопрос задают раньше, но для активности.
Я пытался …

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

… но это не работает.
Вот мой код:

 import com.actionbarsherlock.R; import com.actionbarsherlock.app.ActionBar; import com.actionbarsherlock.app.ActionBar.Tab; import com.actionbarsherlock.app.SherlockFragment; import com.actionbarsherlock.view.MenuItem; import android.support.v4.app.Fragment; import android.content.Intent; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; public class SafanTab extends SherlockFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.safantab, container, false); } public OnClickListener onOverClick = new OnClickListener() { @Override public void onClick(View view) { Intent myIntent = new Intent(view.getContext(), Over_Safan.class); startActivityForResult(myIntent, 0); } }; public OnClickListener onProductenClick = new OnClickListener() { @Override public void onClick(View view) { Intent myIntent = new Intent(view.getContext(), Over_Safan.class); startActivityForResult(myIntent, 0); } }; public OnClickListener onTwitterClick = new OnClickListener() { @Override public void onClick(View view) { Intent myIntent = new Intent(view.getContext(), Over_Safan.class); startActivityForResult(myIntent, 0); } }; } 

Как вы можете включить кнопку «Дом» на «Шерлок-Фрагмент»?

Вы пробовали добавить нижеприведенный код основной Activity – тот, который extends SherlockActivity или extends SherlockFragmentActivity ?

 ActionBar actionBar = getSupportActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); 

Я не думаю, что вы можете getSupportActionBar в чем-то, что только extends SherlockFragment getSupportActionBar .

Вам также необходимо переопределить выбор меню опций:

 @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { finish(); return true; } return super.onOptionsItemSelected(item); } 

Имейте в виду, что приведенный выше код будет работать в активности (следовательно, finish() ). Если вы не используете Activity (что было бы странно для меня …), вам нужно будет его заменить.

Самое простое решение – выполнить следующие три простых шага:

1 – Объявите в AndroidManifest который является родителем вашей активности:

 <activity android:theme="@style/Theme.MyApp" android:name="com.example.CurrentActivity" android:parentActivityName="com.example.MainActivity" > <!-- Parent activity meta-data to support 4.0 and lower --> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.ParentActivity" /> 

2 – добавьте значок «Вверх» на панели действий, просто вызывая метод onCreate :

 getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

3 – Укажите действие, которое следует открыть, когда пользователь нажимает кнопку «Вверх»:

  @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) { NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } 

ПРИМЕЧАНИЕ. Если вы вызываете (как предложено @Eric):

 finish(); 

вместо:

 NavUtils.navigateUpFromSameTask(this); 

Вы на самом деле не выполняете «навигацию вверх», так как в документации говорится:

Навигация вверх отличается от обратной навигации, предоставляемой кнопкой «Назад системы». Кнопка «Назад» используется для навигации в обратном хронологическом порядке через историю экранов, с которыми недавно работал пользователь. Обычно он основан на временных взаимосвязях между экранами, а не на иерархической структуре приложения (что является основой для навигации).