我正在实现一个抽屉导航 Activity ,其中我在抽屉导航中有一个 fragment (由回收器 View 组成)以动态地将项目添加到抽屉导航。
我已经成功地实现了这个概念,但是我面临一个小问题,即当我点击 fragment 中的任何项目时,抽屉导航没有关闭。这是因为我无法从 fragment 访问 DrawerLayout。
那么我如何将点击监听器从我的 fragment 传递到 Activity 以关闭抽屉布局。
谢谢。
最佳答案
这是一个简单的解决方案。 创建接口(interface)
public interface ClickInterface {
public void buttonClicked();
}
然后在你的activity中,实现这个接口(interface)
public class MainActivity extends Activity implements ClickInterface{
@override
public void buttonClicked() {
//do your code here
}
onCreate() {
fragment.setInterface(this);
}
现在从 fragment 类调用这个方法buttonclicked
public class ChildFragment extends Fragment {
ClickInterface interface;
//call this method from activity when activity loads the fragment inside it
public void setInterface(ClickInterface interface) {
this.interface = interface;
}
public void onClick(View v) {
interface.buttonClicked();
}
}
关于android - 如何将点击事件从 fragment 传递到容器 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44573104/