2012-09-13 20 views
1

我正在開發一個android應用程序,我必須在網格視圖中展開用戶點擊的特定圖像。是否有任何方法可以做到這一點。任何幫助將被讚賞。我使用了兩種方法,但沒有達到相同的效果
enter image description here 第一:如何在Android中的GridView中更改用戶單擊的圖像?

if(array[position]!=null) 
       if(array[position].equals("1")){ 
       imageView.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));     

       } 
       imageView.setOnTouchListener(new View.OnTouchListener() { 

        @Override 
        public boolean onTouch(View v, MotionEvent event) { 
         switch (event.getAction()) { 
         case MotionEvent.ACTION_UP: 
         final int posit = gridview.getPositionForView((View)v.getParent()); 
         array[posit]="1"; 
         ((BaseAdapter)gridview.getAdapter()).notifyDataSetChanged(); 
         break; 

         } 
         return true; 
        } 
       }); 

二:在getview()方法中使用

imageView.setOnTouchListener(new View.OnTouchListener() { 

       @Override 
       public boolean onTouch(View v, MotionEvent event) { 
        switch (event.getAction()) { 
         case MotionEvent.ACTION_UP: 
         v.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1)); 

         ((BaseAdapter)gridview.getAdapter()).notifyDataSetChanged(); 
         break; 
        } 
        return true; 
       } 
      }); 

但是這兩個甲基ods沒有顯示正確的結果,它正在隨機擴展圖像,我應該怎麼做。任何想法將不勝感激。

+0

感謝@Shrikant進行編輯,但你可以給我一些想法解決它 – Nitin

+0

有關如何使用您的onClickListener預定義的意圖ACTION_VIEW什麼? –

+0

@Dinesh Venkata,但圖像應該在相同的位置稍微擴大,以顯示用戶點擊 – Nitin

回答

2

編輯:對於這個問題,你必須保持跟蹤變化的觀點說,例如拿一個布爾數組,當您更改視圖的屬性,對陣列中的那個位置保持正確。當你滾動視圖的時候,無論數組的位置是否爲真,只有你設置了放大屬性,否則設置下面的默認屬性。

if(array[position].equals("1")) 
{ 
     imageView.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));  
}  
else 
{ 
     // set image original property 
} 
+0

閱讀最後一行然後你會發現問題 – Nitin

+0

我知道代碼來增加圖像的大小,但它顯示隨機在網格中展開的圖像謝謝 – Nitin

+0

我也做了,請檢查我在問題中寫的第一種方法是對的還是請糾正它。 – Nitin

0

將這個代碼在你的OnclickListenerimageview

Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 

intent.setDataAndType(Uri.parse("image path"), "image/*"); 
startActivity(intent); 
+0

這不會解決我的問題,謝謝你的答案 – Nitin

+0

你想如何顯示圖像? –

+0

看到我想要的圖像 – Nitin

相關問題