gpt4 book ai didi

android - 如何从自定义适配器调用 fragment 函数

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:36:43 25 4
gpt4 key购买 nike

我在 fragment 中创建了一个函数。我想在单击自定义适配器中的按钮时调用该函数,但我无法从自定义适配器调用 fragment 函数。

我的适配器代码是单击一个按钮并调用 fragment 的函数

                 viewHolder.accept.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
removeListItem(viewHolder.order_card_layout, position);

android.support.v4.app.Fragment newFragment = new NewPageActivity();
android.support.v4.app.FragmentTransaction ft = ((FragmentActivity)mContext).getSupportFragmentManager().beginTransaction();

ft.sendorder(data.getorder_id());
ft.add(R.id.framelay, newFragment).commit();


}
});

我的函数在 fragment 中

    public class NewPageActivity extends Fragment{
public void SendOrder( String OrderId)
{

final String serverid = sp.getString("serverid", "null");
Log.e("TAG", "SendOrder: "+serverid +OrderId );
new SendOrder().execute(new Config().addNewOrder, serverid, OrderId);
}
}

最佳答案

在适配器中创建一个接口(interface)类并在您的 fragment 类中实现,如下所示

内部适配器类

         public Interface CallBack{
void yourMethodName();

}

现在在 fragment 类中实现你的接口(interface)方法,如下所示

public class YourFragment implements CallBack{
...........
@Override
public void yourMethodName(){
//"here call your fragment method or do any bussiness logic
}
}

最后,在将接口(interface)实例传递给适配器构造函数之前,您应该像下面这样在适配器 onclick 监听器中调用接口(interface)方法

public class YourAdapterClass extends BaseAdapter {
private CallBack mCallBack;
public YourAdapterClass (CallBack callback){
mCallBack = callback;
}
}

然后在你的 onClickListener 中像这样调用你的接口(interface)方法

    @Override
public void onClick(View v) {
mCallBack.yourMethodName();


}
});

完成

关于android - 如何从自定义适配器调用 fragment 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41295784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com