按片段中的按钮,刷新活动

时间:2014-02-05 15:11:10

标签: android android-fragments

我有几个按钮的片段。 我把那个片段放在我的应用程序的所有活动中。 我正在使用按钮在活动之间旅行

到目前为止一切正常。 我想突出显示按下的按钮。(我正在使用图像按钮,所以我想更改图像)

例如,如果按主页按钮,我将转到家庭活动,主页按钮将有不同的图像

我想把这段代码的句柄形成片段。

这是片段中的相关代码:

       @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;
 }

THI

1 个答案:

答案 0 :(得分: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 ...
}