如何在ListActivity之后更改ImageView?

问题描述:

这个想法是去ListActivity,点击一个项目,如果你点击项目X它显示一个特定的图像。如何在ListActivity之后更改ImageView?

这是我的Android代码。

package vds.cmc; 
public class Dae extends ListActivity { 
static final String bigfoot[] = {"Boy", "Girl"}; 

ImageView iv; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setListAdapter(new PeopleAdapter(this, bigfoot)); 
    iv = (ImageView) findViewById(R.id.ivID); 
} 

@Override 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    // TODO Auto-generated method stub 
    super.onListItemClick(l, v, position, id); 
    String qlo = bigfoot[position]; 
    try { 
     if (qlo == "Girl") { 
      setContentView(R.layout.ppl); 
      iv.setImageResource(R.drawable.cw); 
     } 
     else { 
      setContentView(R.layout.ppl); 
      iv.setImageResource(R.drawable.no); 
     } 
    } 
    catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

} 

我应该怎么做?或者我该如何解决它?

谢谢你,我很新。

产生一个新的活动来查看图像。

Intent intent = new Intent(this, ImageViewerActivity.class); 
    intent.putExtra(EXTRA_IMAGE_ID, R.drawable.boy); //could also pass the resource 
    startActivity(intent); 

然后

public class ImageViewerActivity extends Activity { 
    private static final String EXTRA_IMAGE_ID = "ImageViewerActivity.EXTRA_IMAGE_ID"; 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    Bundle extras = getIntent().getExtras(); 
    if (extras == null) { 
     return; 
    } 

     Resource resId = extras.getInt(EXTRA_IMAGE_ID); 
     mImageView.setImageDrawable(resId); 
} 

你已经扩展ListActivity,所以这意味着该活动只有一个ListView,仅此而已。

你可以做任何接下来的事情就:

  1. 创建一个新的活动,将显示图像。

  2. 使用片段,而一个显示ListView和一个显示图像,并在它们之间切换。

  3. 使用setContentView两次,一个在选择之前(显示ListView)和一个之后(显示图像)。

  4. 使用不同的布局,您可以在ListView和ImageView之间切换(通过可见性或通过使用ViewSwitcher)。

我敢肯定还有其他方法。