Android:如何将图像从一个Activity发送到另一个从cutom ListView中选择的Activity

时间:2016-03-08 22:03:24

标签: android listview

enter image description here

这是ListView,我想要的是当我点击任何列表项时,它会在另一个Activity中打开。

到目前为止,所有TextView文本都从MainActivity传递到ResultActivity,但我无法发送图片。

MainActivity

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            TextView description = (TextView) view.findViewById(R.id.book_description);
            TextView title_ = (TextView) view.findViewById(R.id.book_title);
            TextView isbn_ = (TextView) view.findViewById(R.id.book_isbn);

            String _title = title_.getText().toString();
            String _isbn = isbn_.getText().toString();
            String _description = description.getText().toString();

            Intent myIntent = new Intent(MainActivity.this, ResultActivity.class);
            myIntent.putExtra("title", _title);
            myIntent.putExtra("isbn", _isbn);
            myIntent.putExtra("description", _description);

            startActivity(myIntent);
        }
});

ResultActivity

public class ResultActivity extends ActionBarActivity {
    TextView title, isbn, description;
    ImageView imageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_result);

        title=(TextView) findViewById(R.id.r_title);
        isbn=(TextView) findViewById(R.id.r_isbn);
        description=(TextView) findViewById(R.id.r_description);

        title.setText(getIntent().getStringExtra("title"));
        isbn.setText(getIntent().getStringExtra("isbn"));
        description.setText(getIntent().getStringExtra("description"));
        description.setMovementMethod(new ScrollingMovementMethod());
    }

}

1 个答案:

答案 0 :(得分:1)

你是如何设置图像的?如果您从网络加载它,那么您可以将图像URL作为String添加到您的意图中。将图像存储到缓存中,然后使用URL在ResultActivity中从中获取它。

如果您要设置Drawable的图像,那么您可以传递任何方便的指示,例如位置,ID等。无论哪种方式都适合您。

在任何情况下,您都需要使用密钥(网址,ID,位置等)恢复图像。不要尝试将整个图像发送到不同的活动,而是要在Intent对象中保留太多数据。