HI我在将图像路径发送到另一个活动时收到空指针异常
这是我的代码
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
System.out.println(requestCode + ", " + resultCode);
if (requestCode == SELECT_PICTURE) {
if (data.getData() != null) {
Uri selectedImageUri = data.getData();
String path = getPath(selectedImageUri);
System.out.println("PATH = "+path);
Intent _intent = new Intent(MainActivity.this,AndroidFaceDetector.class);
_intent.putExtra("mypath", path);
startActivityForResult(_intent, CROPPED_FACE_IMAGE);
}
else
{
Toast.makeText(MainActivity.this, "Please try again", Toast.LENGTH_SHORT).show();
}
}
else {
setImage(data);
}
}
}
现在在AndroidFaceDetector类
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new myView(this));
Intent _intent = getIntent();
path = _intent.getStringExtra("mypath");
System.out.println("Path is gettting "+path); //here i am getting null value
}
,因为
这里我的路径值为null ..任何人都可以解决这个问题....
答案 0 :(得分:0)
在您的第二个活动中尝试使用此代码而不是您的代码,
path = _intent.getString("mypath");
(或)
Bundle bundle = this.getIntent().getExtras();
String pic = bundle.getString("mypath");
如果您希望传递图像而不是URI,请尝试使用此代码
在您的第一项活动中,
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
Intent intent = new Intent();
intent.setClass(AndroidPassingBitmap.this, AndroidReceiveBitmap.class);
intent.putExtra("Bitmap", bitmap);
startActivity(intent);
在您的第二项活动中,
Bitmap bitmap = (Bitmap)this.getIntent().getParcelableExtra("Bitmap");
ImageView viewBitmap = (ImageView)findViewById(R.id.bitmapview);
viewBitmap.setImageBitmap(bitmap);
答案 1 :(得分:0)
在代码下面写下来从意图中获取数据,它将解决您的问题。
Bundle bdl=getIntent().getExtras();
String path=bdl.getString("mypath");
请参阅以下链接以获取更多信息。
答案 2 :(得分:0)
在第二个活动中尝试这样做
Intent myintent = getIntent();
if(null != myintent.getExtras())
{
// do your work here
String path = myintent.getExtras().getString("mypath");
}
else
{
// not here you can't get values
Toast.makeText(getApplicationContext(),"No Recor Here..",12).show();
}