0

ListActivity に移動して項目をクリックすると、項目 X をクリックすると特定の画像が表示されます。

それが私の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();
    }
}

}

どうすればいいですか?または、どうすれば修正できますか?

ありがとう、私はこれでかなり新しいです。

4

2 に答える 2

0

を拡張ListActivityしたため、アクティビティには ListView のみがあり、それ以上はありません。

次のいずれかを実行できます。

  1. 画像を表示する新しいアクティビティを作成します。

  2. フラグメントを使用し、1 つは ListView を表示し、もう 1 つはイメージを表示し、それらを切り替えます。

  3. setContentView を 2 回使用します。1 つは選択する前 (ListView を表示するため) で、もう 1 つは選択した後 (画像を表示するため) です。

  4. ListView と ImageView を切り替える別のレイアウトを使用します (可視性または ViewSwitcher を使用して)。

きっと他の方法もあると思います。

于 2012-08-06T06:01:07.877 に答える
0

新しいアクティビティを生成して画像を表示します。

    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);
}
于 2012-08-06T05:22:01.987 に答える