首页 > 解决方案 > 在列表视图中,我有一个对象,其中包含将填充位置的数据

问题描述

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("");
    }
});

标签: javaandroidlistview

解决方案


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");
    }

推荐阅读