У меня есть навигационный ящик, и я использую селектор, чтобы получить выделенный элемент списка.
<item
android:state_activated="true"
android:drawable="@color/pressed_color"/>
<item
android:drawable="@color/default_color" />
Проблема в том, что я переопределяю обратное нажатие, чтобы изменить мой фрагмент на мой основной элемент следующим образом:
@Override
public void onBackPressed()
{
onNavigationDrawerItemSelected(0);
onSectionAttached(1);
restoreActionBar();
теперь, когда я нажимаю назад, он меняет фрагмент, но выделенный элемент остается там, где я щелкнул в прошлый раз. Как я могу также изменить положение выделения? с чем-то вроде изменения состояния текстов каким-то образом из кода, но я создаю элементы навигационного ящика с помощью адаптера... (я использую образец Android Studio)
@Override
public void onNavigationDrawerItemSelected(final int position) {
// update the main content by replacing fragments
final FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, KedvencekFragment.newInstance(position + 1))
// .addToBackStack(null)
.commit();
if(position==0)
{
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
fragmentManager.beginTransaction()
.replace(R.id.container, KedvencekFragment.newInstance(position + 1))
// .addToBackStack(null)
.commit();
}
}, 250);
}
и ` public void onSectionAttached (int number) { switch (number) { case 1: mTitle = getString (R.string.title_section1);
break;
case 2:
mTitle = getString(R.string.title_section2);
break;
case 3:
mTitle = getString(R.string.title_section3);
break;
case 4:
mTitle = getString(R.string.title_section4);
break;
case 5:
// mTitle = getString(R.string.title_section5);
break;
case 6:
mTitle = getString(R.string.title_section6);
break;
}
}`
onNavigationDrawerItemSelected
иonSectionAttached
- person romtsn   schedule 27.11.2014