模拟器应用程序启动第二个活动后停止



我有一个ProfileActivity:

public class ProfileActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
final ImageView exampleImage = (ImageView) this.findViewById(R.id.exampleImageView);
exampleImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// [TODO] Implement application behavior when the user clicks the profile picture
//Toast.makeText(ProfileActivity.this, "Button Clicked", Toast.LENGTH_SHORT).show();
startActivity(new Intent(ProfileActivity.this, GalleryActivity.class));
}
});
}

我也有第二个活动'GalleryActivity':

public class GalleryActivity extends AppCompatActivity {
ImageView imageView;
private static final int PICK_IMAGE = 100;
Uri imageUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent gallery = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, PICK_IMAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == PICK_IMAGE) {
imageUri = data.getData();
imageView.setImageURI(imageUri);
}
}

}

然而,当我启动android模拟器,然后点击图像,它没有带我到照片库,而是带给我这个:
为什么是这样,我怎么能解决它?

E/AndroidRuntime: FATAL EXCEPTION: main
android.content.ActivityNotFoundException: Unable to find explicit  
activity class 
{pickture.GalleryActivity}; 
have you declared this activity in your AndroidManifest.xml?

告诉你:android.content.ActivityNotFoundException:无法找到显式
活动类

这意味着你没有添加你的GalleryActivity到Android manifest文件。查一下。

还有,你为什么需要这个活动?你可以开始你的意图画廊=新的意图(意图。ACTION_PICK,

MediaStore.Images.Media.INTERNAL_CONTENT_URI);
startActivityForResult(gallery, PICK_IMAGE);

从ProfileActivity。

你在你的GalleryActivity上得到一个ActivityNotFoundException,这意味着你在AndroidManifest.xml文件中声明你的活动的方式有问题。如果你一直读下去,错误信息实际上是这样建议的。

要解决这个问题,你需要声明你的GalleryActivity在你的应用程序标签的一边在AndroidManifest.xml文件的一边

基本活动声明

<activity
android:name=".GalleryActivity"
android:exported="true">
</activity>

应用程序声明的位置

<application
...
...>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<- PUT YOUR ACTIVITY DECLARATION HERE ->
</application>

你有两个问题1: GalleryActivity类中缺少setContentView

setContentView (R.layout.activity_gallery);

第二:你需要声明你的GalleryActivity在你的应用程序标签的一边在AndroidManifest.xml文件的一边

<activity android:name=".GalleryActivity"/>

相关内容

最新更新