2012-11-11 149 views
0

在附加到imageview的OnClick事件中,我想要打開一個帶有屏幕化圖像視圖的新活動來顯示圖片。活動未開始

這是事件:

public void onClick(View arg0) { 

    PhotoList pli = (PhotoList) arg0.getTag(); 
    Intent i = new Intent(getBaseContext(), PhotoActivity.class); 
    i.putExtra("photo", pli.Photo); 
    i.putExtra("PhotoId", pli.id); 
    getBaseContext().startActivity(i); 

}

當我點擊圖片正在執行這個代碼,但沒有任何反應。

光活性的OnCreate(這是永遠不會被執行):

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_photo); 
    getActionBar().setDisplayHomeAsUpEnabled(true); 

    Bundle extras = getIntent().getExtras(); 

    photo = extras.getByteArray("photo"); 
    ViewId = extras.getInt("View"); 
    PhotoId = extras.getInt("PhotoId"); 

    if (photo.length > 0) { 
     ImageView iv = (ImageView) findViewById(R.id.pvPhoto); 

     Bitmap mBitmap = BitmapFactory.decodeByteArray(photo, 0, photo.length); 
     iv.setImageBitmap(mBitmap); 
    } 

清單:

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="enn.com.sitefinder.MainActivity" /> 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".PhotoActivity" 
     android:label="@string/title_activity_photo" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="enn.com.sitefinder.MainActivity" /> 
    </activity> 
</application> 

當我意外地連接的OnClick事件監聽到線性佈局,活動並啓動。

爲什麼活動沒有顯示?

RG, 埃裏克

+1

爲什麼使用'getBaseContext()'。如果你在活動本身,你不需要調用它,並使用'this'的'ClassNameOfActivity.this' –

回答

0

通過傳遞的羣衆演員額外的整數,使光催化活性的類找到ArrayList中的圖像解決它。 這不是傳遞對於包太多的位圖字節數組。

0

你不需要使用getBaseContext.startActivity

只需使用startActivity(意向);