2012-08-06 66 views
0

這個想法是去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(); 
    } 
} 

} 

我應該怎麼做?或者我該如何解決它?

謝謝你,我很新。

回答

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); 
} 
0

你已經擴展ListActivity,所以這意味着該活動只有一個ListView,僅此而已。

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

  1. 創建一個新的活動,將顯示圖像。

  2. 使用片段,而一個顯示ListView和一個顯示圖像,並在它們之間切換。

  3. 使用setContentView兩次,一個在選擇之前(顯示ListView)和一個之後(顯示圖像)。

  4. 使用不同的佈局,您可以在ListView和ImageView之間切換(通過可見性或通過使用ViewSwitcher)。

我敢肯定還有其他方法。