Intereting Posts
Непосредственно откройте экран рейтинга Play Store из нашего приложения в Android Установленное соединение было прервано программным обеспечением вашей хост-машины Отправка текстовых сообщений программно в android Volley не работает с Gradle 2.0 и мгновенным запуском Action Bar Шерлок 4 цвет текста заголовка – где я иду не так? Изменение окнаSoftInputMode для фрагментов внутри viewpager Пользовательский вид в макете xml Когда рабочий поток работает, пользовательский интерфейс становится изменчивым Просмотр прокрутки Overlap с помощью AppBarLayout Почему так сложно фотографировать на разных телефонах Android? Кордова PushPlugin – Не удается получить уведомление GCM на Android, если приложение не работает Android, как использовать DexClassLoader для динамической замены Activity или Service AsyncTask «Только исходный поток, создавший иерархию представлений, может коснуться его представлений». TabLayout удаляет ненужную прокрутку Как получить неправильный JSON в Retrofit 2

Включить домашнюю кнопку 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); } }; } 

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

Solutions Collecting From Web of "Включить домашнюю кнопку ActionbarSherlock, Sherlockfragment"

Вы пробовали добавить нижеприведенный код основной 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); 

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

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