我需要单击图像导航到下一页。使用充气器获取视图并将其分配给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/