目前我正在开发一个活动应用程序,我的活动将显示在回收站视图中的卡片视图中,当我按下卡片视图时,会打开一个活动以显示该特定活动的更多详细信息。现在我面临的问题是如何获取该事件的这些信息并将它们放入活动中,还有其他信息需要从解析数据库中获取。卡片视图只能容纳几个。
如果有人可以提供帮助,请提前感谢。
这是我的EventAdapter类
public class EventAdapter扩展了RecyclerView.Adapter {
private TextView eventName;
@NonNull
private final Context context;
@NonNull
private final List<Events> eventsList;
public EventAdapter(@NonNull Context context,@NonNull List<Events> eventsList) {
this.context = context;
this.eventsList = eventsList;
}
@Override
public EventViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.event_item_card_layout,parent,false);
return new EventViewHolder(view);
}
@Override
public void onBindViewHolder(final EventViewHolder holder, final int position) {
final Events events = eventsList.get(position);
holder.locationText.setText(events.getEventCity());
if (!events.getEventTickets()) {
holder.costText.setText("Free");
} else {
holder.costText.setText(String.format("%.2f", events.getTicketPrice()));
}
holder.mainCardLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
eventName = (TextView) view.findViewById(R.id.eventview_name);
eventName.setText(events.getEventName()); //doesn't work
view.getContext().startActivity(new Intent(context, EventActivity.class));
}
});
答案 0 :(得分:1)
在view.getContext().startActivity(new Intent(context, EventActivity.class));
方法中替换该行
Intent i=new Intent(context, EventActivity.class);
//put extras on the intent
i.putExtra("var",myVar); //where myVar is a variable that you would like to pass to the activity.
view.getContext().startActivity(i);
使用以下行:
onCreate()
现在,在EventActivity上,在
中Intent intent = getIntent();
String myVar = intent.getStringExtra("var");
方法执行以下操作以使用键&#34; var&#34;:
检索变量line-height
你可以传递任何东西,String,int,bool等。例如,我使用了String。