繁体   English   中英

我在将数据从活动传输到另一个活动时遇到问题

[英]I have problem in transferring data from activity to another activity

public class Memo extends AppCompatActivity {

DBHandler dbh;
Notes items;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_memo);
    getSupportActionBar().hide();
    try{
        dbh = new DBHandler(this);
    }
    catch (Exception ex){
        ex.printStackTrace();
    }
   display();
}

public void display( ){              //method to display all items in the database
    List<Notes> books_list = dbh.getNotes();             ////here i get the list fromm the database
    ///// i used a custom adapter because i needed it
    final myAdapter adapter = new myAdapter(this, books_list);          ///creating adapter from 
myadapter to link it with  the list
    ListView _note_ = findViewById(R.id.list_txt);
    _note_.setAdapter(adapter);

    _note_.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {     
            items = (Notes) adapter.getItem(position);
            String Note_content = items.getNote();
            String title = items.getTitle();
            String Date = items.getDate();
            Intent i = new Intent(getApplicationContext() ,Note_content.class);
            i.putExtra("Note ", Note_content);
            i.putExtra("title", title);
            i.putExtra("Date", Date);

            startActivity(i);
        }
    });

当我尝试从该活动获取数据(仅注释)到另一个活动时遇到问题,其他值(日期和标题)正在工作,我尝试在 Notes class 中使用 toString 方法,但它给出 null 以供注意

public class Note_content extends AppCompatActivity {
Notes item;
TextView txt_note ,txt_date , txt_title;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_note_content);
    txt_title = findViewById(R.id.txt_ntitle);
    txt_note = findViewById(R.id.txt_Nnote);
    txt_date = findViewById(R.id.txt_Ndate);

    Intent i = getIntent();
    String note = i.getStringExtra("Note");
    String title = i.getStringExtra("title");
    String date = i.getStringExtra("Date");
     item = new Notes(title,note,date);

    txt_note.setText(item.getNote());
    //txt_note.setText(note)
    txt_date.setText(date);
    txt_title.setText(title);
}

这是第二个活动,它没有给出任何错误,而是 null 而不是注释和注释 class

 public class Notes {
    private  int id;
    private String title;
    private String note ;
    private String date;

    public Notes() {
    }

    public Notes(String title, String note, String date) {
        this.title = title;
        this.note = note;
        this.date = date;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getNote() {
        return note;
    }

    public void setNote(String note) {
        this.note = note;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    @Override
    public String toString() {
        return this.note+"\n"+title+"\n"+date;
    }
    }

i.putExtra("Note", Note_content); 在上面的代码行中,“Note”的末尾有一个额外的空格。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM