Java 如何在ListActivity之后更改ImageView?

Java 如何在ListActivity之后更改ImageView?,java,android,imageview,listactivity,Java,Android,Imageview,Listactivity,我们的想法是转到ListActivity,单击一个项目,如果单击项目X,它将显示一个特殊的图像 这是我的安卓代码 package vds.cmc; public class Dae extends ListActivity { static final String bigfoot[] = {"Boy", "Girl"}; ImageView iv; @Override protected void onCreate(Bundle savedInstanceState) { // T

我们的想法是转到ListActivity,单击一个项目,如果单击项目X,它将显示一个特殊的图像

这是我的安卓代码

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,没有其他内容

您可以执行以下任何操作:

  • 创建将显示图像的新活动

  •     Intent intent = new Intent(this, ImageViewerActivity.class);
        intent.putExtra(EXTRA_IMAGE_ID, R.drawable.boy); //could also pass the resource
        startActivity(intent);
    
  • 使用片段,一个显示ListView,一个显示图像,并在它们之间切换

  • 使用setContentView两次,一次在选择之前(显示ListView),一次在选择之后(显示图像)

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

  • 我相信还有其他方法