1
的Android:如何從一個活動發送圖像從一個對自定義的ListView
這是ListView
什麼,我想的是,當我點擊任何列表項的它在另一個活動中打開選擇另一個活動。
到目前爲止,所有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());
}
}
非常感謝你,是的,我從網絡加載它。但我不知道如何緩存它,我不知道如何將圖像URL作爲一個字符串的意圖。你需要我的代碼嗎? – user2983359
要將圖片網址轉化爲意圖很簡單,您已經爲標題,isbn和描述執行此操作。它看起來像這樣:'myIntent.putExtra(「url」,url);'其中url變量實際上是您用來從服務器加載圖像的URL。要緩存圖片請使用:http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html。根據您的需要使用內存或磁盤緩存。 –
我也會考慮閱讀本:http://stackoverflow.com/questions/541966/lazy-load-of-images-in-listview 有很多在'ListView'懶加載圖像不同的解決方案,其處理一切爲你(懶惰圖像加載,緩存,多線程,OOM問題等)這些解決方案中的許多都非常穩定,並被許多流行的應用程序使用。如果你使用其中的一個,你的圖像加載將更加強大,然後從頭開始編寫你自己的解決方案。 –