Android 如何将EditText项添加到RecyclerView?
我正在Android中制作一个记事本应用程序,我想在一个活动中创建一个便笺,然后将其保存到另一个包含RecyclerView的活动中。目前,它只保存一个便笺,每次我创建另一个便笺时,它都会保存在该便笺上 MainPage.javaAndroid 如何将EditText项添加到RecyclerView?,android,android-recyclerview,recyclerview-layout,Android,Android Recyclerview,Recyclerview Layout,我正在Android中制作一个记事本应用程序,我想在一个活动中创建一个便笺,然后将其保存到另一个包含RecyclerView的活动中。目前,它只保存一个便笺,每次我创建另一个便笺时,它都会保存在该便笺上 MainPage.java public class MainPage extends AppCompatActivity { private TextView mTitleHolder; private FloatingActionButton newNote; public Recycl
public class MainPage extends AppCompatActivity {
private TextView mTitleHolder;
private FloatingActionButton newNote;
public RecyclerView mRecyclerView;
public NoteAdapter mAdapter;
private NotePadDB dbHelper;
private Cursor cur;
private ArrayList<String> titles;
private List<SavedNotesItems> mList;
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mDrawerToggle;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_page);
Toolbar tb = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(tb);
mTitleHolder = (TextView) findViewById(R.id.titlePlaceHolder);
newNote = (FloatingActionButton) findViewById(R.id.createNewNote);
newNote.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(MainPage.this, MainNote.class);
startActivity(in);
}
});
mList = new ArrayList<>();
mRecyclerView = (RecyclerView) findViewById(noteList);
mRecyclerView.setAdapter(new NoteAdapter(mList,getApplicationContext()));
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
String notelist = getIntent().getStringExtra("title");
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open,
R.string.close);
mDrawerLayout.addDrawerListener(mDrawerToggle);
mDrawerToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
addToMain();
}
public void addToMain(){
String notelist = getIntent().getStringExtra("title");
SavedNotesItems list = new SavedNotesItems(notelist);
list.setTitle(notelist);
mList.add(list);
//mAdapter.notifyItemInserted(mList.indexOf(list));
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
public类主页扩展appcompative活动{
私有文本视图mTitleHolder;
私有浮动操作按钮newNote;
公共回收视图MRECYCLERVIW;
公共记事本;
私人notepadb-dbHelper;
私有游标cur;
私人ArrayList头衔;
私人名单;
私人抽屉布局mDrawerLayout;
私有操作bardrawertoggle mDrawerToggle;
@凌驾
创建时受保护的void(@Nullable Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main_页面);
Toolbar tb=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(tb);
mTitleHolder=(TextView)findViewById(R.id.titlePlaceHolder);
newNote=(FloatingActionButton)findViewById(R.id.createNewNote);
newNote.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent in=新的Intent(MainPage.this,MainNote.class);
星触觉(in);
}
});
mList=新的ArrayList();
mRecyclerView=(RecyclerView)findViewById(notelest);
setAdapter(新的NoteAdapter(mList,getApplicationContext());
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setLayoutManager(新的LinearLayoutManager(this));
字符串notelist=getIntent().getStringExtra(“标题”);
mDrawerLayout=(抽屉布局)findViewById(R.id.drawer);
mDrawerToggle=newActionBarDrawerToggle(这个,mDrawerLayout,R.string.open,
R.string.close);
mDrawerLayout.addDrawerListener(mDrawerToggle);
mDrawerToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
addToMain();
}
public void addToMain(){
字符串notelist=getIntent().getStringExtra(“标题”);
SavedNotesItems列表=新的SavedNotesItems(notelist);
列表。设置标题(注释列表);
列表添加(列表);
//mAdapter.notifyItemInserted(mList.indexOf(list));
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
如果(MDRAWERTOGLE.onOptionsItemSelected(项目)){
返回true;
}
返回super.onOptionsItemSelected(项目);
}
}
java(基本注释)
公共类MainNote扩展了AppCompatActivity{
private FloatingActionButton mCreateNew;
private EditText noteTitle;
NotePadDB db;
public TextView mSavedNote;
private List<String> list;
public RecyclerView rec;
public NoteAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_note);
Toolbar tb = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(tb);
db = new NotePadDB(this);
list = new ArrayList<>();
mSavedNote = (TextView) findViewById(R.id.titlePlaceHolder);
noteTitle = (EditText) findViewById((R.id.titleOfNote));
mCreateNew = (FloatingActionButton) findViewById(R.id.createNewNoteWhileInsideNote);
mCreateNew.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(MainNote.this, MainNote.class);
startActivity(in);
}
});
rec = (RecyclerView) findViewById(R.id.noteList);
}
public void editNote(){
SavedNotesItems items = (SavedNotesItems)getIntent().getExtras().getSerializable("notes");
}
public void TransferText(EditText title){
Intent i = new Intent(MainNote.this,MainPage.class);
//i.putExtra("title",title.getText().toString());
i.putExtra("title",title.getText().toString());
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.toolbarbtns, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.cancel:
Intent in = new Intent(MainNote.this, MainPage.class);
startActivity(in);
case R.id.save:
String note = noteTitle.getText().toString();
list.add(note);
Intent intent = new Intent(getApplicationContext(),MainPage.class);
intent.putExtra("title",note);
startActivity(intent);
}
return super.onOptionsItemSelected(item);
}
private floatingAction按钮mCreateNew;
私人编辑文本标题;
NotePadDB-db;
公共文本视图注释;
私人名单;
公共废物回收中心;
公共记事本适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(右布局,主注释);
Toolbar tb=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(tb);
db=新的NotePadDB(本);
列表=新的ArrayList();
mSavedNote=(文本视图)findViewById(R.id.titlePlaceHolder);
noteTitle=(EditText)findViewById((R.id.titleOfNote));
mCreateNew=(FloatingActionButton)findViewById(R.id.createNewNotewhileInSidefine);
mCreateNew.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent in=新的Intent(MainNote.this,MainNote.class);
星触觉(in);
}
});
rec=(RecyclerView)findViewById(R.id.noteList);
}
公共票据(){
SavedNotesItems items=(SavedNotesItems)getIntent().getExtras().getSerializable(“注释”);
}
公共无效传输文本(编辑文本标题){
意图i=新意图(MainNote.this,MainPage.class);
//i、 putExtra(“title”,title.getText().toString());
i、 putExtra(“title”,title.getText().toString());
星触觉(i);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
MenuInflater mi=getMenuInflater();
mi.充气(R.menu.BTNS,菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例R.id.取消:
Intent in=新的Intent(MainNote.this,MainPage.class);
星触觉(in);
案例R.id.save:
字符串注释=noteTitle.getText().toString();
列表。添加(注);
Intent Intent=新的Intent(getApplicationContext(),MainPage.class);
意向。额外(“标题”,注);
星触觉(意向);
}
返回super.onOptionsItemSelected(项目);
}
}
NoteAdapter.java
public class NoteAdapter extends RecyclerView.Adapter<NoteAdapter.ViewHolder> {
private List<SavedNotesItems> listOfSavedNotes;
private Context mContext;
AdapterView.OnItemClickListener mOnItemClickListener;
public NoteAdapter(List<SavedNotesItems> listOfSavedNotes, Context context) {
this.listOfSavedNotes = listOfSavedNotes;
this.mContext = context;
}
//Declare all variables in List Layout
public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
private TextView mNoteTitle;
public ViewHolder(View itemView) {
super(itemView);
mNoteTitle = (TextView) itemView.findViewById(R.id.titlePlaceHolder);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
}
}
//Display List Layout
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.list_saved_notes, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
//SavedNotesItems list = listOfSavedNotes.get(position);
holder.mNoteTitle.setText(listOfSavedNotes.get(position).getTitle());
}
@Override
public int getItemCount() {
return listOfSavedNotes.size();
}
公共类NoteAdapter扩展了RecyclerView.Adapter{
私人储蓄债券名单;
私有上下文;
AdapterView.OnItemClickListener监视器ClickListener;
公共NoteAdapter(SavedNotes列表,上下文){
this.listOfSavedNotes=listOfSavedNotes;
this.mContext=上下文;
}
//声明列表布局中的所有变量
公共类ViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener{
私有文本视图;
公共视图持有者(视图项视图){
超级(项目视图);
mNoteTitle=(TextView)itemView.findViewById(R.id.titlePlaceHolder);
setOnClickListener(这个);
}
@凌驾
公共void onClick(视图v){
}
}
//显示列表布局
@凌驾
public ViewHolder onCreateViewHolder(视图组父级,int-viewType){
View=LayoutInflater.from(parent.getContext())
.充气(R.layout.list\u saved\u notes,parent,false);
返回新的ViewHolder(视图);
}
@凌驾
公共无效onBindViewHolder(ViewHolder,int位置){
//SavedNotesItems list=listOfSavedNotes.get(位置);
holder.mNoteTitle.setText(listOfSavedNotes.get(position.getTitle());
}
@凌驾
public int getItemCount(){
返回savednotes.size()的列表;
}
在此处发布您的代码…您的代码在哪里?很抱歉,代码已经添加。因此,我确实为RecyclerView(SavedNotesItems)中的项目设置了一个类