【发布时间】:2018-08-11 03:28:05
【问题描述】:
我想将编辑后的文本值从一个活动传递到另一个活动,然后显示在recyclerView中。This is the errors I have
可能我必须把值放在等号下面吗?但我不知道如何将编辑后的文本值放入其中。
我想从这个类传递数据
public class addEvent extends AppCompatActivity {
public void addEvent(View view){
EditText timeEditText = findViewById(R.id.timeEditText);
EditText descriptionEditText = findViewById(R.id.descriptionEditText);
Intent intent = new Intent(getApplicationContext(), events.class);
String timeInfo = timeEditText.getText().toString();
String descriptionInfo = descriptionEditText.getText().toString();
intent.putExtra("time", timeInfo );
intent.putExtra("description", descriptionInfo);
}
public void events(View view){
Intent intent1 = new Intent(getApplicationContext(), events.class);
startActivity(intent1);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_event);
}
}
这是视图活动
public class events extends AppCompatActivity {
private RecyclerView recyclerView;
private RecyclerView.Adapter adapter;
private List<ListItem> listItems;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_events);
recyclerView = findViewById(R.id.recyclerViewID);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
Bundle bundle = getIntent().getExtras();
String time = bundle.getString("time");
String description = bundle.getString("description");
listItems = new ArrayList<>();
listItems = new ArrayList<>();
ListItem item = new ListItem(time, "d");
listItems.add(item);
adapter = new MyAdapter(this, listItems);
recyclerView.setAdapter(adapter);
}
}
这是适配器类
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private Context context;
private List<ListItem> listitem;
public MyAdapter(Context context, List listitems){
this.context = context;
this.listitem = listitems;
}
@NonNull
@Override
public MyAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.list_row, viewGroup, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull MyAdapter.ViewHolder viewHolder, int i) {
ListItem item = listitem.get(i);
viewHolder.time.setText(item.getTime());
viewHolder.description.setText(item.getDescription());
}
@Override
public int getItemCount() {
return listitem.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public TextView time;
public TextView description;
public ViewHolder(@NonNull View itemView) {
super(itemView);
time = itemView.findViewById(R.id.time);
description = itemView.findViewById(R.id.description);
}
}
}
这是模型类
public class ListItem {
private String time;
private String description;
public ListItem(String time, String description) {
this.time = time;
this.description = description;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
}
【问题讨论】:
标签: java android android-intent android-recyclerview