2014-02-05 3 views
0

У меня есть фрагмент с несколькими кнопками. Я поместил этот фрагмент во все действия в своем приложении. Я использую кнопку для перемещения между видами деятельностиНажатие кнопки во фрагменте, обновление активности

Пока все работает нормально. Я хочу выделить кнопку, которая была нажата. (Я использую кнопку изображения, поэтому я хочу изменить изображение)

Например, если я нажму кнопку «Домой», я перейду к домашней операции, а кнопка «Домой» будет имеют другое изображение

Мне нужен дескриптор этого кода из фрагмента.

здесь соответствующий код из фрагмента:

 @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
     // Inflate the layout for this fragment 
      View view = inflater.inflate(R.layout.fragment_buttons, container, 
      false); 

    ImageButton btnHome = (ImageButton) view.findViewById(R.id.btnHome); 
    btnHome.setOnClickListener(this); 

    ImageButton btnSetting = (ImageButton) view.findViewById(R.id.btnSetting); 
    btnSetting.setOnClickListener(this); 

    return view; 

} 

@Override 
public void onClick(View v) { 
    ImageButton imageButton = (ImageButton) v; 

    switch (imageButton.getId()) { 
    case R.id.btnHome: 
     imageButton.setImageResource(R.drawable.btnhomev); 
     startActivity(new Intent("com.example.sonoside2.HOME")); 
     break; 
    case R.id.btnSetting: 
     imageButton.setImageResource(R.drawable.btnsettingv); 
     startActivity(new Intent("com.example.sonoside2.SETTING")); 
     break; 
} 

ТГИ

ответ

1

Реализуйте метод onActivityCreated в вашем фрагменте. Здесь вы можете получить свой объект деятельности следующим образом:

public void onActivityCreated (Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    Activity a = getActivity(); 
    String packageName = a.getPackageName(); 
    if (packageName.equalsIgnoreCase("com.example.sonoside2.HOME")) { 
     //do something to highlight your buttons 
    } else ... 
} 
Смежные вопросы