我有几个按钮的片段。 我把那个片段放在我的应用程序的所有活动中。 我正在使用按钮在活动之间旅行
到目前为止一切正常。 我想突出显示按下的按钮。(我正在使用图像按钮,所以我想更改图像)
例如,如果按主页按钮,我将转到家庭活动,主页按钮将有不同的图像
我想把这段代码的句柄形成片段。
这是片段中的相关代码:
@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
答案 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 ...
}