Android 如何将EditText项添加到RecyclerView?

Android 如何将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

我正在Android中制作一个记事本应用程序,我想在一个活动中创建一个便笺,然后将其保存到另一个包含RecyclerView的活动中。目前,它只保存一个便笺,每次我创建另一个便笺时,它都会保存在该便笺上

MainPage.java

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)中的项目设置了一个类