#java #android
#java #Android
Вопрос:
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);
}
});
у меня проблема, когда я пытаюсь получить данные (только примечание) из этого activity в другое activity, работают другие значения (дата и заголовок), я попытался использовать метод toString в классе Notes, но он выдает null для note
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);
}
это второй activit, он не выдает никаких ошибок, кроме null вместо note
и этого класса Notes
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;
}
}
Комментарии:
1. Можете ли вы отредактировать вопрос и добавить
Notes
класс?2. Можете ли вы подтвердить, что переменная Note_content не равна null, когда вы помещаете ее в свое намерение (регистрируете ее)?
3. @Sz-NikaJanos да, это была проблема. Я был уверен в коде, но это пространство было ошибкой. Спасибо
4. @muaazDeyab пожалуйста, отметьте мой комментарий, чтобы ИТ-специалисты знали, в чем проблема, поскольку этот вопрос получает новые сообщения. Спасибо! хорошего дня. Если вам все еще нужна помощь. протяни руку.
Ответ №1:
я.putExtra(«Примечание «, Note_content); В приведенной выше строке кода «Примечание» имеет дополнительный пробел в конце.
Комментарии:
1. Я уже упоминал об этом в комментариях, это была проблема