2011-09-20 66 views
0

所以基本上屏幕上有一个带有9个图像的GridView。当其中一个图像点击时,我使用setContentView打开一个图像视图的布局,以显示所选图像。完成这些图片后,他们会点击回去,然后移除contentView并再次显示GridView。除了在其他contentView中使用ImageView以外,大部分工作原理都是如此。setContentView over并设置ImageView强制关闭

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setView(); 
    setContentView(R.layout.wall); 


    GridView gridview = (GridView) findViewById(R.id.gridview); 
    gridview.setAdapter(new ImageAdapter(this)); 

    gridview.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int position, 
       long arg3) { 
      pos = position; 
      displayWallpaper(); 


     } 
    }); 
} 

private void displayWallpaper(){ 
     switch(pos){ 
     case 0: 
      setContentView(R.layout.wallpaper); 
      viewing=true; 
     ImageView image1 = (ImageView)findViewById(R.id.display); 
     rotate(R.drawable.wallpaper1, image1); 
      break; 
} 
} 

所以强制关闭发生在ImageView线。我的猜测是它没有找到显示,但显示在壁纸布局。任何想法为什么它可能会强制关闭。如果你需要更多的信息,让我知道什么,如果你有更好的方式做我想做的事情让我知道。谢谢。

也只是测试了一下。到目前为止,如果rotate()被注释掉并且ImageView在那里,强制关闭仍然会发生。如果我对它们发表评论,它可以正常工作(除了显示图像)。

+0

您可以发布您的onCreate()和你在哪里调用displayWallpaper()代码? –

+1

你有没有交叉检查ImageView的存在和ID,即显示在壁纸布局 –

+0

@YashwanthKumar在那里你去发布上面的onCreate。 – steven

回答

1

你的图片浏览此搜索没有在现有布局在您的显示布局specifed即...