这是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());
}
}
答案 0 :(得分:1)
你是如何设置图像的?如果您从网络加载它,那么您可以将图像URL作为String
添加到您的意图中。将图像存储到缓存中,然后使用URL在ResultActivity
中从中获取它。
如果您要设置Drawable
的图像,那么您可以传递任何方便的指示,例如位置,ID等。无论哪种方式都适合您。
在任何情况下,您都需要使用密钥(网址,ID,位置等)恢复图像。不要尝试将整个图像发送到不同的活动,而是要在Intent
对象中保留太多数据。