2017-07-21 49 views
-2

我是使用Firebase进行Android开发的新手。我被困在传递新的活动的意图。我想在回收站视图中点击特定的卡片时,将url和url1传递给新的活动。如何将意图传递给Firebase的新活动recyclerview

这里是我的代码

MainActivity

myRef = FirebaseDatabase.getInstance().getReference("project").child("electronics"); 
    recyclerView = (RecyclerView) findViewById(R.id.recycle); 
    recyclerView.setHasFixedSize(true); 
    recyclerView.setLayoutManager(new LinearLayoutManager(this)); 


    FirebaseRecyclerAdapter<Project,BlogViewHolder> adapter = new FirebaseRecyclerAdapter<Project, BlogViewHolder>(
      Project.class, 
      R.layout.card, 
      BlogViewHolder.class, 
      myRef 
    ) { 
     @Override 
     protected void populateViewHolder(BlogViewHolder viewHolder, Project model, int position) { 

      viewHolder.setProjectName(model.getProjectName()); 
      viewHolder.setUrl1(model.getUrl1()); 

      progressDialog.hide(); 
     } 

    }; 

    recyclerView.setAdapter(adapter); 

} 

public static class BlogViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 

    TextView project1; 
    ImageView imageview; 

    public BlogViewHolder(View itemView) { 
     super(itemView); 
     itemView.setOnClickListener(this); 
     project1 = itemView.findViewById(R.id.textView); 
     imageview = itemView.findViewById(R.id.projectImage); 

    } 

    public void setProjectName(String projectName) { 
     project1.setText(projectName); 
    } 

    public void setUrl1(String url1) { 
     Picasso.with(itemView.getContext()) 
       .load(url1) 
       .into(imageview); 
    } 

Project.java

public class Project { 
private String projectName,url,url1; 

public Project() { 
} 

public Project(String projectName, String url, String url1) { 
    this.projectName = projectName; 
    this.url = url; 
    this.url1 = url1; 
} 

public String getProjectName() { 
    return projectName; 
} 

public void setProjectName(String projectName) { 
    this.projectName = projectName; 
} 

public String getUrl() { 
    return url; 
} 

public void setUrl(String url) { 
    this.url = url; 
} 

public String getUrl1() { 
    return url1; 
} 

public void setUrl1(String url1) { 
    this.url1 = url1; 
}} 

这里是我的火力地堡数据库 Database

+0

的可能的复制[Android的:使用意图启动任何活动(https://stackoverflow.com/questions/30959496/android-using-an-intent-to-start-any-activity) – DeKaNszn

回答

0

捆绑。

你在String中使用model.getUrl()并使用bundle来传递你想要的东西。

在你的onClick方法

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case xxxx: 
      Intent intent = new Intent(mActivity, nextActivity.class); 
      Bundle bundle = new Bundle(); 
      String value = model.getUrl(); 
      bundle.putString(key, value); 
      intent.putExtras(bundle); 
      startActivity(intent); 
      break; 
    } 
} 

,并在您的nextActivity

,你需要抓住你的包。

private void getIntentData() { 
    Bundle bundle = getIntent().getExtras(); 
    if (bundle != null) 
     Strin url = bundle.getString(key); 
} 
+0

如何在onClick中传递包裹 –

+0

您的onClick方法在哪里? – nikeru8

+0

itemView.setOnClickListener(新View.OnClickListener(){ @Override 公共无效的onClick(查看视图){ 意图意图=新意图(view.getContext(),projectView.class); 视图.getContext()。startActivity(intent); } }); } 在意图我想传递intent.putExtra(PROJECT_URL,project.getUrl());这 –

相关问题