【发布时间】:2018-05-23 11:06:12
【问题描述】:
This is my firebase data 使用拆分方法我尝试分离存储在 Firebase 中的 lat/lan 值,但仅显示第一个值但无法获取第二个值。发生错误并停止运行。字符串 lat=gpsVal[0] 可以分配,但字符串 lang =gpsVal1无法assign.app关闭。
但是当我将手动值 lat/lng: (7.714195099999999,81.6947587)" 添加到示例变量时,可以将两个值(String lat=gpsVal[0],lang=gpsVal1)分配给变量
这是我的代码:
final ArrayList <String> locationnew = new ArrayList <String>();
database.orderByChild("ItemName").equalTo(name).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot){
for(DataSnapshot suggestionSnapshot : dataSnapshot.getChildren())
{
itcat=suggestionSnapshot.getKey();
String loc=suggestionSnapshot.child("ShopLocation").getValue().toString();
names1.add(itcat);
locationnew.add(loc);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
// Toast.makeText(getApplicationContext(), "AWW SNAP... Something is Wrong.", Toast.LENGTH_LONG).show();
}
});
String[] loca=new String[1000];
for(int i=0; i < locationnew.size(); i++)
{
loca[i]=locationnew.get(i);
}
String find_lat_lan = "";
serch2.setText(String.valueOf(loca[0]));
String example = serch2.getText().toString();
Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(example);
while(m.find()) {
find_lat_lan = m.group(1) ;
}
String[] gpsVal = find_lat_lan.split(",");
String lat=gpsVal[0];
String lang=gpsVal[1];
【问题讨论】:
标签: java android firebase arraylist firebase-realtime-database