close
本周Android停課,但光復習上周五的課,就已經滿頭霧水,好家在模擬器跑出來了。對coder真是更加景仰,這工作太硬了。debug是一個折磨人的事情,不容許一點點觀念不對,用猜的這招是完全行不通的。我覺得挺好,因為工作上大多是在"橋"事,對於精準的要求,也慢慢在消耗。透過這次,找回精準的精神吧!

上一回,把click到的圖片得到的資訊,用Intent存起來,帶到下一個畫面去。

public void onItemClick(AdapterView<?> parent, View view, int position, long itemId) {
Intent intent = new Intent(this, DetailActivity.class);
intent.putStringArrayListExtra("IMAGE_ID", imageIds); 
intent.putExtra("POS", position); 
startActivity(intent);

到了下個頁面,在OnCreate中取出來intent

1. 把帶過來的ArrayList透過getIntent拿出來Intent,再透過getStringArrayListExtra從intent中取出IMAGE_ID

ArrayList<String> imageIds = getIntent().getStringArrayListExtra("IMAGE_ID");

2. 同樣方法,取出gridview上item的順序號

int pos = getIntent().getIntExtra("POS", 0);

3. 為了要展現原圖,設計了一個ImageView準備把原圖叫出來丟進去,但要用到setImageURI,從原圖的檔案庫Media中把整個EXTERNAL_CONTENT_URI叫出來,利用原圖ID和position找到原圖set到畫面上去。這邊上課講太快,還不是很理解細節。

ImageView img = (ImageView)findViewById(R.id.img);
img.setImageURI(Uri.withAppendedPath(Media.EXTERNAL_CONTENT_URI, imageIds.get(pos)));

4. 總結: 跑模擬器!

很簡單的動作,學起來有點吃力 T__T
把縮圖全部找query出來,得到cursor,再去找出縮圖ID、原圖ID、檔案名稱,透過adapter插到畫面。再寫onItemClickListener進行當Click到的時候,帶著被click到的該張縮圖對應的原圖ID和click到的gridview上position一起帶到下個畫面去。
下個畫面把帶過來的資料intent解開,得到原圖ID和position,最後把圖設定上去畫面。




arrow
arrow
    全站熱搜

    brianc18 發表在 痞客邦 留言(0) 人氣()