这是细节活动..。我使用意图putExtra将数据从这个活动发送到下一个活动。
public class Detail_Activity extends AppCompatActivity {
ImageView ivImage2;
TextView txtDescription, txtName, txtPrice;
String key = "";
String imageUrl = "";
Button delete_Recipe, update_Recipe;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
ivImage2 = (ImageView)findViewById(R.id.ivImage2);
txtDescription = (TextView) findViewById(R.id.txtDescription);
txtName = (TextView) findViewById(R.id.txtName);
txtPrice = (TextView) findViewById(R.id.txtPrice);
delete_Recipe = (Button) findViewById(R.id.delete_Recipe);
update_Recipe = (Button) findViewById(R.id.update_Recipe);
update_Recipe.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Detail_Activity.this, Upload_Recipe.class)
.putExtra("recipeNameKey", txtName.getText().toString())
.putExtra("recipeDescriptionKey", txtDescription.getText().toString())
.putExtra("recipePriceKey", txtPrice.getText().toString())
.putExtra("oldimageUrl", imageUrl)
.putExtra("key",key)
);
}
});**这是更新活动..。在此活动中,数据不显示或不显示接收到的数据,而代码是正确的**
public class Update_Activity extends AppCompatActivity {
ImageView update_Recipe_Image;
EditText update_Recipe_Name, update_Recipe_Description, update_Recipe_Price;
Button updatebutton;
Uri uri;
ActivityResultLauncher<String> mContent;
String imageUrl;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_update);
update_Recipe_Image = (ImageView) findViewById(R.id.update_Recipe_Image);
update_Recipe_Name = (EditText) findViewById(R.id.update_Recipe_Name);
update_Recipe_Description = (EditText) findViewById(R.id.update_Recipe_Description);
update_Recipe_Price = (EditText) findViewById(R.id.update_Recipe_Price);
updatebutton = (Button) findViewById(R.id.updatebutton);
Bundle bundle = getIntent().getExtras();
if (bundle != null){
Glide.with(Update_Activity.this)
.load(bundle.getString("oldimageUrl"))
.into(update_Recipe_Image);
update_Recipe_Name.setText(bundle.getString("recipeNameKey"));
update_Recipe_Description.setText(bundle.getString("recipeDescriptionKey"));
update_Recipe_Price.setText(bundle.getString("recipePriceKey"));
}
}
}在logcat.中没有任何错误
发布于 2022-05-27 06:36:28
startActivity(new Intent(Detail_Activity.this, Upload_Recipe.class)
.putExtra("recipeNameKey", txtName.getText().toString())尝试使用.putExtra创建意图,然后将其作为startActivity的参数。如果您想传递数据以更新活动,则需要给出该活动的目的地,如下所示:
Intent myIntent= new Intent(Detail_Activity.this, Update_Activity.class)
.putExtra("recipeNameKey", txtName.getText().toString())
startActivity(myIntent)发布于 2022-05-27 06:47:20
您不是在包中传递数据,而是使用intent直接传递数据。因此,您可以在下一个屏幕中接收数据,如下所示:
if (getIntent() != null){
Glide.with(Update_Activity.this)
.load(getIntent().getStringExtra("oldimageUrl"))
.into(update_Recipe_Image);
update_Recipe_Name.setText(getIntent().getStringExtra("recipeNameKey"));
update_Recipe_Description.setText(getIntent().getStringExtra("recipeDescriptionKey"));
update_Recipe_Price.setText(getIntent().getStringExtra("recipePriceKey"));
}只需在您的bundle.getString中用getIntent().getStringExtra替换Update_Activity
发布于 2022-05-27 07:19:19
注这里有3项活动。Detail_Actiivty。Upload_Recipe (它是活动吗?),Update_Activity。您应该使用目标类创建意图。
Intent intent = new Intent ( DetailActivity.this, Update_Activity.class) ....https://stackoverflow.com/questions/72401325
复制相似问题