java - 在列表视图中,我有一个对象,其中包含将填充位置的数据
问题描述
在ListView
我有一个对象的数据将填充列表中的一个位置我试图从该位置获取所有数据并将它们放在下一个Activity
。
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
newTitle = edtTitle.getText().toString();
newYear = edtYear.getText().toString();
newAuthor = edtAuthor.getText().toString();
newSummary = edtSummary.getText().toString();
Book newBook = new Book(newTitle,Integer.parseInt(newYear),newAuthor,newSummary);
books.add(newBook);
bookAdapter.notifyDataSetChanged();
Toast toast = Toast.makeText(MainActivity.this,"Data added",LENGTH_SHORT);
toast.show();
edtTitle.setText("");
edtYear.setText("");
edtAuthor.setText("");
edtSummary.setText("");
}
});
解决方案
Book
上课implements Serializable
并在OnItemClickListener
您的listView
活动中使用
listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,int position, long arg3)
{
Book clickedBook = books.get(position);
Intent intent = new Intent(context, NextActivity.class);
intent.putExtra("SELECTED_BOOK", clickedBook);
context.startActivity(intent);
}
});
而在NextActivity
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Bundle extras = getIntent().getExtras();
Book selectedBook = (Book)extras.get("SELECTED_BOOK");
}
推荐阅读
- reactjs - 如何修改我的模态以便在 reactjs 中以不同的方式显示不同的项目?
- python - 使用 Scrapy 将网站中的新数据提取到现有表中
- gatling - 如何在 gatling 中找到 api 断点
- javascript - jQuery - 禁用自我并启用另一个的两个链接事件
- spring - 有没有办法在另一个项目中重用来自多个项目的黄瓜步骤?
- kotlin - Kotlin 中的 Float.isNaN“接收器类型不匹配”错误
- javascript - 忽略正则表达式中的模式中的一个词
- html - 使用 HTML 和 CSS 修复按钮动画
- javascript - Discord.js 获取分片 ID
- javascript - vue如何在v-if中获取元素上的元素引用