嗨,我正在使用ALT beacon库开发一个android应用程序。我需要根据距离在回收器视图中显示检测到的信标。附近的距离信标需要显示在列表的第一位。我做了每一件事,但我得到了空白页。信标未显示在recyclerview中。请帮帮我。
ArrayList<Beacon> data;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
recyclerView = findViewById(R.id.Recyclerview_tab);
bt_stop = findViewById(R.id.bt_stop);
bt_start = findViewById(R.id.bt_start);
beaconManager = BeaconManager.getInstanceForApplication(this);
beaconManager.getBeaconParsers().add(new BeaconParser()
.setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24,d:25-25"));
beaconManager.setBackgroundBetweenScanPeriod(30000l);
beaconManager.setForegroundBetweenScanPeriod(10000l);
region = new Region("myMonitoringUniqueId", null, null, null);
适配器=新Beaconadapter(此);回收视图。设置适配器(适配器);
bt_start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
beaconManager.bind(Main2Activity.this);
Toast.makeText(Main2Activity.this, "clicked", Toast.LENGTH_SHORT).show();
}
});
bt_stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
beaconManager.unbind(Main2Activity.this);
}
});
}
@Override
public void onBeaconServiceConnect() {
final Region region = new Region("myBeaons", Identifier.parse("e2c56db5-dffb-48d2-b060-d0f5a71096e0"), null, null);
beaconManager.addMonitorNotifier(new MonitorNotifier() {
@Override
public void didEnterRegion(Region region) {
try {
Log.d(TAG, "didEnterRegion");
beaconManager.startRangingBeaconsInRegion(region);
} catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
public void didExitRegion(Region region) {
try {
Log.d(TAG, "didExitRegion");
beaconManager.stopRangingBeaconsInRegion(region);
} catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
public void didDetermineStateForRegion(int i, Region region) {
}
});
beaconManager.addRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
if (beacons.size() > 0) {
适配器。initAll(信标);
日志i(TAG),“我看到的第一个信标是关于”beacons.iterator()。next()。getDistance()“米远。”);}适配器。notifyDataSetChanged();
}
});
try {
beaconManager.startRangingBeaconsInRegion(new Region("myRangingUniqueId", null, null, null));
} catch (RemoteException e) { }
}
我的适配器代码:
public class Beaconadapter extends RecyclerView.Adapter<Beaconadapter.Myviewholder> {
Context mcontext;
public static ArrayList<Beacon> beacons;
private LayoutInflater inflater;
public Beaconadapter(Context mcontext) {
this.mcontext = mcontext;
this.beacons = new ArrayList<Beacon>();
this.inflater = LayoutInflater.from(mcontext);
}
@NonNull
@Override
public Myviewholder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View v= LayoutInflater.from(mcontext).inflate(R.layout.beaconrecyclerview,viewGroup,false);
Myviewholder myviewholder=new Myviewholder(v);
return myviewholder; }
@Override
public void onBindViewHolder(@NonNull Myviewholder myviewholder, int i) {
myviewholder.tv_uuid.setText(beacons.get(i).getServiceUuid());
myviewholder.tv_macid2.setText(beacons.get(i).getBluetoothAddress());
myviewholder.tv_rssi2.setText((int) beacons.get(i).getDistance());
}
@Override
public int getItemCount() {
return beacons.size();
}
公共无效initAll(集合新信标){
this.beacons.clear();
this.beacons.addAll(newBeacons);
}
公共静态类Myviewholder扩展了RecyclerView。视窗持有人{TextView tv_uuid、tv_macid2、tv_rssi2;
public Myviewholder(@NonNull View itemView) {
super(itemView);
this.tv_uuid=itemView.findViewById(R.id.tv_uuid);
this.tv_macid2=itemView.findViewById(R.id.tv_macid2);
this.tv_rssi2=itemView.findViewById(R.id.tv_rssi2);
}
}
}
以下是一些提示:
>
将调试行添加到每个回调方法的顶部。然后运行您的代码来确定哪些方法被调用:onBeaconServiceConnect
,didentZone
,did确定mineStateForZone
,didRangeBeaconsInZone
被调用。
如果事件链中的一个方法没有被调用,请尝试找出原因。每次你得到一个回调工作,重复上面的步骤2。这是调试程序的可靠方法。
我正试图添加数据在我的回收视图从火炉。我有带名字的文件(级别级别编号)但没有显示我的活动这是代码: 主要活动水平: 公共类级别活动扩展AppCompat活动{ } 水平调整器 公共类级别适配器扩展了RecyclerView。适配器 }
我刚开始在firebase工作。我设法上传了文本和图像,但是,我无法检索要显示在回收器视图中的图像,只能检索文本。我用的是毕加索依赖。我已经包括了我的主要活动。java类,该类负责显示从问题“我的适配器”中的firebase检索的回收器视图项。java类和模型类。我相信,在我将图像URI上载到firebase存储时,我可能犯了没有存储图像URI的错误,因此适配器无法检索图像位置。我想这可能是因为我
当我尝试将Image URL解析到ImageView中时,回收器视图不显示,活动为空。我正在使用Picasso将图像加载到适配器类中的onBinfViewHolder方法中。这是相关代码 代表: } RepRvAdapter: } 解析JSON数据的方法: 现在,我有一行解析图像URL的代码被注释掉了。行取消注释后,活动将不再显示。如何获取要在ImageView中解析和显示的图像url?我认为这可
这是我的活动 这是我的回收器适配器 logcat 这里,我从以前的活动回收器视图中获取值,并且我试图在此活动中通过Bundle显示它。 问题是,当我用这种方法执行操作时,活动没有显示任何东西,而我在我的Bundle中获取值,我没有获取它是什么问题。如有任何帮助,将不胜感激。谢谢你
我在机器人中有一个回收站视图。我已向其附加了。我只启用了从左向右滑动。 因此,当我在Recycle视图中滑动任何项目时,该项目开始向右移动,在左侧我绘制一个文本。这很好。我的要求是,我只允许用户滑动一定距离,当达到该距离并且用户释放触摸时,被滑动的项目应该回到其向左的位置。 问题是,当我从左向右滑动时,视图会被完全从屏幕上刷掉。我如何才能将其限制为仅在一定距离内滑动?我该怎么做? 以下是我的物品触
我试图显示图像从Firebase数据库中的回收视图在Android Studio,但图像不显示。我不确定我哪里出错了,也不知道问题出在哪里。 主Activity.xml 标志和物品。xml 标志tems.java 主要活动。JAVA LogoItemsAdapter。JAVA