我需要单击图像导航到下一页。使用充气器获取视图并将其分配给row。通过使用row,我可以访问元素“ learn”,该元素是“ dialog_layout”视图中的ImageView。现在,我需要为“ Imgview”设置onclicklister。我已经编写了代码,但是当我单击imageview时,它无法导航。我在代码中犯了任何错误吗?

 public void onItemClick(AdapterView<?> parent, View view, int position,
            long id) {
        // TODO Auto-generated method stub
        try{
            final Dialog dialog = new Dialog(ListViewGallery.this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setContentView(R.layout.dialog_layout);
            Window window = dialog.getWindow();
            window.setLayout(Parent.getHeight()/2, Parent.getHeight()/2);
            dialog.show();
            ImageView ImgView=(ImageView)findViewById(R.id.learn);
            ImgView.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent=new Intent(ListViewGallery.this,LearnLayoutAnimals.class);
                    startActivity(intent);
                }
            });

        }catch(Exception e){
            Log.v("dd",e.toString());
        }


    }


http://i.stack.imgur.com/qWXH7.png

最佳答案

由于您在显示对话框之后对视图进行了膨胀,因此所看到的ImageView和所膨胀的ImageView是不同的对象。像这样改变

final Dialog dialog = new Dialog(ListViewGallery.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

View row=LayoutInflater.from(ListViewGallery.this).inflate(R.layout.dialog_layout, parent,false);
ImageView ImgView=(ImageView)row.findViewById(R.id.learn);
ImgView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
      Intent intent=new Intent(ListViewGallery.this,LearnLayoutAnimals.class);
      startActivity(intent);
}
});
dialog.setContentView(row);
dialog.show();

关于android - Imageclick onclicklistener无法与LayoutInflater的实现一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26042690/

10-09 13:28