2017-02-20 60 views
0

我想我的应用程序(IOS &安卓)显示一些新闻,而这个新闻提要可能包括文本& 1张图片(是在图像视图显示)或文字和多图像未指定NO。 (将显示在gridview)根据对象类型属性。如何构建我的对象检索嵌套火力数据

我试图实现这个功能像下面,但它没有工作,我希望有人经历这个问题,我检查了很多问题,但我认为非匹配我的情况。

她是我的火力点的数据结构,我为Android对象:

public class object { 

    String text; 
    String type; 
    List<images> images; 
    public object(){ 

    } 
    public String gettext(){return text;} 
    public String gettype(){return type;} 
    public List<images> getimages(){return images;} 
} 

class images{ 

    String images; 
    public images(){ 

    } 
public String getimages(){return images;} 

} 

和检索活动:

public class MainActivity extends AppCompatActivity { 
    DatabaseReference database; 
    List<object> objectsList = new ArrayList<>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     database = FirebaseDatabase.getInstance().getReference(); 
     loaddata(); 
    } 

    private void loaddata(){ 
     Query query = database.child("news"); 
     query.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       if (objectsList!=null){ 
        objectsList.clear(); 
       } 
       for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){ 
        object object = dataSnapshot1.getValue(object.class); 
        Log.i("&&&&&&& Images &&&&&",object.gettext()); 
        objectsList.add(object); 

       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 
       Log.e("%%%%%%%% ERROR ",databaseError.getMessage()); 
      } 
     }); 


    } 
} 

任何建议,将不胜感激

enter image description here

回答

1

尝试如图所示更改images b elow。

public class object { 

    String text; 
    String type; 
    Map<String, String> images; 
    public object(){ 

    } 
    public String gettext(){return text;} 
    public String gettype(){return type;} 
    public Map<String,String> getimages(){return images;} 
} 
+0

它不工作,空对象异常 –

+0

只注意到我没有更新'getimages'在下面的代码(刚才做了)......假设你可能作出改变?你可以添加你看到的完整的错误 –

+0

反序列化期望的映射,但获取类java.util.ArrayList,当试图检索快照时... object object = dataSnapshot1.getValue(object.class); –

相关问题