如何访问 Activity 中的按钮 ID。
Activity
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_meter);
if (Build.VERSION.SDK_INT >= 23) {
checkLocationPermission();
}
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
Fragment map = new Map();
fragmentTransaction.add(R.id.fragment_container, map);
fragmentTransaction.commit();
...
}
fragment
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (view == null) {
view = inflater.inflate(R.layout.fragment_map, container, false);
Button button = (Button)getActivity().findViewById(R.id.btnStop);
}
如何在我的代码 fragment 中实现 btnStop 的 setOnClickListener 方法?
最佳答案
将其添加到 fragment :
final View.OnClickListener btnClick = new View.OnClickListener() {
public void onClick(View v){
//button clicked
}
}
将此添加到 Activity onCreate
:
Button button = (Button)getActivity().findViewById(R.id.btnStop);
button.setOnClickListener(map.btnClick );
<小时/>
另一种方式:
将其添加到 fragment :
Button btnStop;
将其添加到 Activity 的 onCreate
中:
map.btnStop = (Button)getActivity().findViewById(R.id.btnStop);
然后,在 Activity 的 onCreate
之后调用的任何 fragment 事件监听器(例如 onActivityCreated
和 onStart
)中,您都可以访问btnStop
并且您可以为其设置onClick
监听器。
关于java - 我如何从 fragment 访问 Activity 中的按钮ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53923265/