0

MaintActivityRecyclerview 수없는

package com.finn.aroundu; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.LinearLayoutManager; 
import android.support.v7.widget.RecyclerView; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.TextView; 
import com.firebase.ui.database.FirebaseRecyclerAdapter; 
import com.google.firebase.database.DataSnapshot; 
import com.google.firebase.database.DatabaseError; 
import com.google.firebase.database.DatabaseReference; 
import com.google.firebase.database.FirebaseDatabase; 

public class MainActivity extends AppCompatActivity { 


RecyclerView recyclerView; 
private RecyclerView mPostList; 
private DatabaseReference mDatabase; 




@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mDatabase= FirebaseDatabase.getInstance().getReference(); 

    Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(mToolbar); 
    getSupportActionBar().setDisplayShowTitleEnabled(false); 

    mPostList = (RecyclerView) findViewById(R.id.post_list); 
    mPostList.setHasFixedSize(true); 
    if(recyclerView != null) { 
     mPostList.setLayoutManager(new LinearLayoutManager(this)); 
    } 





     } 

@Override 
protected void onStart() { 
    super.onStart(); 

    FirebaseRecyclerAdapter<Location_data,PostViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Location_data, PostViewHolder>(

      Location_data.class, 
    R.layout.recycler_adpater, 
    PostViewHolder.class, 
      mDatabase 



    ) { 
     @Override 
     protected void populateViewHolder(PostViewHolder viewHolder, Location_data model, int position) { 

      viewHolder.setName(model.getName()); 
      viewHolder.setCaption(model.getCaption()); 
      viewHolder.setLocation(model.getLocation()); 
     } 
    }; 
    mPostList.setAdapter(firebaseRecyclerAdapter); 


} 

public static class PostViewHolder extends RecyclerView.ViewHolder { 

    View mView; 

    public PostViewHolder(View itemView) { 
     super(itemView); 

     itemView= mView; 


    } 

    public void setName(String name){ 
     TextView info_text = (TextView) mView.findViewById(R.id.info_text); 
     info_text.setText(name); 

    } 

    public void setCaption(String caption){ 

     TextView info_text2=(TextView) mView.findViewById(R.id.info_text2); 
     info_text2.setText(caption); 

    } 

    public void setLocation(String location){ 

     TextView info_text3 = (TextView)mView.findViewById(R.id.info_text3); 
     info_text3.setText(location); 
    } 


} 


public boolean onCreateOptionsMenu(final Menu menu) { 
    getMenuInflater().inflate(R.menu.menu_main, menu); 

    return super.onCreateOptionsMenu(menu); 

} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    if(item.getItemId()==R.id.add){ 
     startActivity(new Intent(MainActivity.this,post.class)); 


    } 


    return super.onOptionsItemSelected(item); 
} 
} 

Location_Activity (방법)

package com.finn.aroundu; 

/** 
* Created by Sagar on 1/31/2017. 
*/ 

public class Location_data { 



private String Name; 
private String Location; 
private String Caption; 

public Location_data(){ 

} 

public Location_data(String Location, String Name, String Caption) { 
    this.Location = Location; 
    this.Name = Name; 
    this.Caption = Caption; 
} 

public String getCaption() { 
    return Caption; 
} 

public void setCaption(String Caption) { 
    this.Caption = Caption; 
} 

public String getLocation() { 
    return Location; 
} 

public void setLocation(String Location) { 
    this.Location = Location; 
} 

public String getName() { 
    return Name; 
} 

public void setName(String Name) { 
    this.Name = Name; 
} 
} 

내 중포 기지 DB와 디스플레이에서 데이터를 가져 오기 위해 간단한 응용 프로그램을 만드는 중이라서 그것은 RecyclerView에 있지만 데이터는 전혀 가져 오지 않습니다. 출력은 그냥 빈 활동입니다. 나는 앱 개발에 익숙하지 않고 어리석은 실수를 저질렀다고 생각한다. 내 실수를 지적 해주세요.

충돌 로그 :

com.google.firebase.database.DatabaseException: Can't convert object of type java.lang.String to type com.finn.aroundu.Location_data 

수정 프로그램을 얻었다 : 은 내가 실수로 내가 reffered 곳에서 블로그에서 활동을 코딩하는 것을 잊었다, 내 코드에서 많은 주요 문제가 있었다. 어쨌든 고마워, !

+0

당신이 일부 전문가에 태그를 주시겠습니까? –

답변

0

검사 기준을 변환해야합니다

mDatabase= FirebaseDatabase.getInstance().getReference(); 
+0

"Post"를 참조에 추가했지만 사용하지 못했습니다. –