2013-11-26 6 views
0

У меня есть деятельность (основная) с четырьмя фрагментами. Я хочу добавить одну кнопку к третьему фрагменту, который открывает другое действие (вторичное) с тремя фрагментами. Когда я нажимаю назад, я хочу вернуться к основной операции.Открыть новую активность с помощью кнопки из статического фрагмента?

Я искал ответ, но не могу найти тот, который работает. Коды моих фрагментов находятся внутри основного действия, а фрагменты статичны, потому что в противном случае приложение Force закрывается при повороте в альбомный режим.

Я взял код кнопки здесь: http://developer.android.com/reference/android/widget/Button.html

public class fragmentFour extends Fragment { 
    Intent intent = new Intent(getActivity(), musikteori_ackord.class); 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_layout1, container, false); 
     } 
    final Button button = (Button) findViewById(R.id.buttonAckord); 
    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      startActivity(intent); 
     } 
    }); 
} 

Ошибки:

- Cannot resolve symbol 'setOnClickListener' 
- Cannot resolve symbol 'v' 
+0

Как может кто-то "открыть" класс? Просто интересно ... –

+0

Извините, я новичок в Android-программировании. – johgru

+0

Это называется «Activity» not class – JoelFernandes

ответ

1

Так просто добавить Button в третьем фрагменте и onClick этой кнопки запуска Intent, который открывается вверх по новому желаемому Activity, содержащему остальные три фрагмента.

[EDIT]

Попробуйте это:

public class fragmentFour extends Fragment { 

     Intent intent; 
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    View root = inflater.inflate(R.layout.fragment_layout1, container, false); 
     intent = new Intent(getActivity(), musikteori_ackord.class); 
     final Button button = (Button) root.findViewById(R.id.buttonAckord); 

     button.setOnClickListener(new View.OnClickListener() { 
      public void onClick(View v) { 
       startActivity(intent); 
      } 
     }); 

     return root; 
    } 
} 
+0

Спасибо, но это дает мне ошибку: не удается разрешить символ «setOnClickListener» – johgru

+0

@johgru Пожалуйста, проверьте отредактированный ответ – JoelFernandes

+0

Кажется, что за исключением «невозможно разрешить отображение символа». – johgru

Смежные вопросы