我希望通过Recycler View和Model Data调用和召回用户号
在适配器中,我使用了以下代码,但它给出了一个错误
适配器中的代码:
<代码>支架。呼叫setOnClickListener(新视图。OnClickListener(){@Override public void onClick(视图v){
String number=model.getNumber();
String call="tel:"+number.trim();
Intent intent=new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(call));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
});
错误:在此处输入图像描述
源代码:
public class Adapter extends RecyclerView.Adapter<Adapter.Holder> {
Context context;
List<Model> models=new ArrayList<>();
ModelListener modelListener;
public Adapter(ModelListener modelListener) {
this.modelListener = modelListener;
}
@NonNull
@Override
public Holder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view= LayoutInflater.from(parent.getContext()).inflate(R.layout.page_item,parent,false);
return new Holder(view);
}
@Override
public void onBindViewHolder(@NonNull Holder holder, int position) {
Model model=models.get(position);
holder.name.setText(model.getName());
holder.number.setText(model.getNumber());
holder.call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String number = model.getNumber();
final Uri numberToCall = Uri.parse("tel:" + number);
final Intent intent = new Intent(Intent.ACTION_DIAL, numberToCall);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return models.size();
}
public class Holder extends RecyclerView.ViewHolder{
TextView name,number;
ImageView delete,edit,call;
public Holder(@NonNull View itemView) {
super(itemView);
name=itemView.findViewById(R.id.txt_name);
number=itemView.findViewById(R.id.txt_number);
call=itemView.findViewById(R.id.call);
}
}
}
您需要使用requireContext()
来避免null。
holder.call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final String number = model.getNumber();
final Uri numberToCall = Uri.parse("tel:" + number);
final Intent intent = new Intent(Intent.ACTION_DIAL, numberToCall);
context.startActivity(intent); //Use back context
}
更新:
为上下文再添加一个参数。
public Adapter(ModelListener modelListener, Context context) {
this.modelListener = modelListener;
this.context = context;
}
当您调用您的
适配器
时,您传递值上下文
。也许你会有这样的东西。
final Adapter mAdapter = new Adapter(modelListener, this);
问题内容: 我陷入了异步算法: 我有一系列的猫鼬模型: 我想抓取每个集合的所有项目,并将它们放入数组或类似的内容中。如果这样做,则回调的关键字不会引用当前模型,因此我无法知道哪些模型项属于 我也尝试了异步库,但没有成功,因为我总是回到同一问题:无法知道哪个模型在回调内执行find查询。同上,如果我使用诺言。 请帮助我:)你会怎么做? EDIT model.find调用query.find,quer
本文向大家介绍tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式,包括了tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式的使用技巧和注意事项,需要的朋友参考一下 Google提供了一个工具,TensorBoard,它能以图表的方式分析你在训练过程中汇总的各种数据,其中包括Graph结构。 所以我们可以简单的写几行Pyhton
当试图从API获取JSON数据并在RecyclerView上显示时,我得到以下错误: 我已经使用RecyclerView有时,我从来没有这个问题。 主要活动: 适配器: 取景框: 我搜索了很多如何解决这个错误,但我不能。
所以我试图去有一个交错的布局,但列表中的第一项需要跨越两列。前两排也是固定高度。除了跨越两列的第一个项目,其他都正常工作。 我将RecyclerView.Adapter与StaggeredGridLayoutManager一起使用。它似乎不是开箱即用的功能。我假设我可以制作一个自定义布局管理器,但我不知道从哪里开始。我尝试过搜索,但我找不到任何关于如何让项目跨越多列的信息。 下图是我在列表中寻找的
目前,我支持具有以下体系结构的客户机,用于工业制造过程: 我已经在PC上设置了一个WAMP服务器和一个示例网页,我可以在PC上的任何浏览器上看到它作为“本地主机”。我知道如何通过WebView类向Android应用程序添加web浏览器视图。 但是我不知道如何让手机上的浏览器通过TCP连接看到PC上的WAMP服务器。我怎么把这两件事联系起来?
我设计了一个带有地图片段和回收器视图的布局。每个回收器视图项都是cardview(我已经指定了xml布局)。 问题是RecyclerView项无法填满屏幕宽度。 我尝试将layout_width更改为,…但这没有帮助 下面是每个项目的布局 和main_layout 希望任何人都能帮助我。我被困了三天。非常感谢。 ====~=======:===>====1====2===]====3====0.=