Passing Image Through Intent. getting error: java.lang.NumberFormatException: Invalid int: "null"
Passing Image Through Intent. getting error: java.lang.NumberFormatException: Invalid int: "null"
我的 Application
中有两个 Activities
,我想通过意图将 Image title
和 image
本身传递给同一个 [=] 的 second activity
18=]。但我收到以下错误:
java.lang.NumberFormatException: Invalid int: "null"
在下行
Glide.with(getApplicationContext()).load(Integer.parseInt(intent.getStringExtra("Image"))).into(imageView);
Activity1个代码:
public void cardClicked(final Sport currentSport){
itemCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("Image",R.drawable.img_baseball);
intent.putExtra("Name",currentSport.getTitle());
context.startActivity(intent);
}
});
}
第二个Activity代码:
private ImageView imageView;
private TextView nameView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
imageView = findViewById(R.id.tv_image);
nameView = findViewById(R.id.tv_name);
Intent intent = getIntent();
nameView.setText(String.valueOf(intent.getStringExtra("Name")));
Glide.with(getApplicationContext()).load(Integer.parseInt(intent.getStringExtra("Image"))).into(imageView);
}
尽管您希望使用 int,但您正在使用 intent.getStringExtra(String)
。所以正确的是使用 intent.getIntExtra(String, int)
.
我的 Application
中有两个 Activities
,我想通过意图将 Image title
和 image
本身传递给同一个 [=] 的 second activity
18=]。但我收到以下错误:
java.lang.NumberFormatException: Invalid int: "null"
在下行
Glide.with(getApplicationContext()).load(Integer.parseInt(intent.getStringExtra("Image"))).into(imageView);
Activity1个代码:
public void cardClicked(final Sport currentSport){
itemCard.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(context, DetailActivity.class);
intent.putExtra("Image",R.drawable.img_baseball);
intent.putExtra("Name",currentSport.getTitle());
context.startActivity(intent);
}
});
}
第二个Activity代码:
private ImageView imageView;
private TextView nameView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
imageView = findViewById(R.id.tv_image);
nameView = findViewById(R.id.tv_name);
Intent intent = getIntent();
nameView.setText(String.valueOf(intent.getStringExtra("Name")));
Glide.with(getApplicationContext()).load(Integer.parseInt(intent.getStringExtra("Image"))).into(imageView);
}
尽管您希望使用 int,但您正在使用 intent.getStringExtra(String)
。所以正确的是使用 intent.getIntExtra(String, int)
.