【问题标题】:Clickable Images in HorizontalScrollViewHorizo​​ntalScrollView 中的可点击图像
【发布时间】:2018-02-05 08:05:24
【问题描述】:

我正在使用 Horizo​​ntalScrollView 创建图库,我想在 Horizo​​ntalScrollView 中单击图像。

这是我的代码:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK){
            if(data.getClipData() != null){
                int totalItemsSelected = data.getClipData().getItemCount();
                linearLayout = (LinearLayout) findViewById(R.id.linear);
                for(int i = 0; i < totalItemsSelected; i++){
                    Uri fileUri = data.getClipData().getItemAt(i).getUri();
                    ImageView image = new ImageView(this);
                    image.setAdjustViewBounds(true);
                    image.setImageURI(fileUri);
                    linearLayout.addView(image);
             }
        }
    }
}

【问题讨论】:

标签: java android android-layout horizontalscrollview clickable-image


【解决方案1】:

你好用下面的代码implement点击事件ImageView

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == RESULT_LOAD_IMAGE && resultCode == RESULT_OK){
        if(data.getClipData() != null){
            int totalItemsSelected = data.getClipData().getItemCount();
            linearLayout = (LinearLayout) findViewById(R.id.linear);
            for(int i = 0; i < totalItemsSelected; i++){
                Uri fileUri = data.getClipData().getItemAt(i).getUri();
                ImageView image = new ImageView(this);
                image.setAdjustViewBounds(true);
                image.setImageURI(fileUri);

                //click event
                image.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        Log.e(TAG,"Selected File URI : "+fileUri); 
                    }
                });

                linearLayout.addView(image);
            }
        }
    }
} 

【讨论】:

    【解决方案2】:

    在循环中设置onClickListener。所以每个ImageView 都会有它自己的点击监听器。在将图像添加到布局之前。

    image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // do ur work here
        }
    })
    

    谢谢

    【讨论】:

    • 此代码将使您能够手动单击。我们不会在这里有问题地自动调用 onClick
    • 你的意思是fileUri ?
    【解决方案3】:

    见下文:

    for(int i = 0; i < totalItemsSelected; i++){
        Uri fileUri = data.getClipData().getItemAt(i).getUri();
        ImageView image = new ImageView(this);
        image.setAdjustViewBounds(true);
        image.setImageURI(fileUri);
    
        image.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //what you want to do
            }
        });
    
        linearLayout.addView(image);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多