2012-11-11 156 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(意向);