1

ユーザーがクリックしたグリッドビューで特定の画像を展開する必要があるAndroidアプリを開発しています。それを行う方法はありますか?どんな助けでも大歓迎です.2つのアプローチを使用しましたが、同じ
ここに画像の説明を入力 最初の: getview() メソッドで使用:

    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;
                    }   
                });  

2番:

 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;
                }   
            });

しかし、これらの2つの方法は正しい結果を示していません。画像をランダムに拡大しています。どうすればよいですか。どんなアイデアでも大歓迎です。

4

2 に答える 2

2

編集:その問題については、変更されたビューを追跡する必要があります。たとえば、ビューのプロパティを変更すると、ブール配列を取得し、配列内のその位置をtrueに保ちます。ビューをスクロールするとき、配列の位置に関係なく、それらに対してのみ拡大プロパティを設定し、それ以外の場合は以下のようにデフォルトのプロパティを設定します。

if(array[position].equals("1"))
{
        imageView.setLayoutParams(new LinearLayout.LayoutParams(80, 80, 1));    
}    
else
{
       // set image original property
}
于 2012-09-13T05:56:16.253 に答える
0

このコードをあなたOnclickListenerimageview

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

intent.setDataAndType(Uri.parse("image path"), "image/*");  
startActivity(intent);  
于 2012-09-13T05:48:15.333 に答える