gpt4 book ai didi

java - 从 2 个不同的 Activity 启动相同的 Activity 并更新数据

转载 作者:行者123 更新时间:2023-12-01 11:00:47 27 4
gpt4 key购买 nike

我有三项 Activity 。

在主要 Activity 中我有 3 个按钮。第一个和第二个按钮将我带到其他 Activity 。第三个按钮向我显示我使用 Intent 从其中选择的数据。

但是我无法同时看到第二个和第三个 Activity 的数据。我只看到其中之一。

我认为他们每个人都创建了不同的主要 Activity 。我只需要一个主要 Activity 来汇总第二个和第三个 Activity 的数据。

这是我的主要 Activity 的 java 代码:

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
button = (Button) findViewById(R.id.button2);
button1 = (Button) findViewById(R.id.button3);
button2 = (Button) findViewById(R.id.button4);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);

textrecievebox.setText(getIntent().getExtras().getString("jockeyno"));

// Capture button clicks
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {

// Start NewActivity.class
Intent myIntent = new Intent(MainActivity.this,
Main2Activity.class);
startActivity(myIntent);
}
});
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {

// Start NewActivity.class
Intent myIntent1 = new Intent(MainActivity.this,
Main3Activity.class);
startActivity(myIntent1);
}
});

fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();

}
});
}

public void showdata(View v)
{


ImageView show1= (ImageView)findViewById(R.id.imageView3);
ImageView show2= (ImageView)findViewById(R.id.imageView14);
ImageView show3= (ImageView)findViewById(R.id.imageView15);
ImageView show4= (ImageView)findViewById(R.id.imageView16);

ImageView show5= (ImageView)findViewById(R.id.imageView18);
ImageView show6= (ImageView)findViewById(R.id.imageView19);
ImageView show7= (ImageView)findViewById(R.id.imageView20);
ImageView show8= (ImageView)findViewById(R.id.imageView21);

TextView textrecievebox= (TextView)findViewById(R.id.textView2);
textrecievebox.setText(getIntent().getExtras().getString("jockeyno"));
Bundle bundle=this.getIntent().getExtras();
int pic=bundle.getInt("image");
show1.setImageResource(pic);

Bundle bundle1=this.getIntent().getExtras();
int pic1=bundle1.getInt("image1");
show2.setImageResource(pic1);

Bundle bundle2=this.getIntent().getExtras();
int pic2=bundle2.getInt("image2");
show3.setImageResource(pic2);

Bundle bundle3=this.getIntent().getExtras();
int pic3=bundle3.getInt("image3");
show4.setImageResource(pic3);

Bundle bundle4=this.getIntent().getExtras();
int pic4=bundle4.getInt("image4");
show5.setImageResource(pic4);

Bundle bundle5=this.getIntent().getExtras();
int pic5=bundle5.getInt("image5");
show6.setImageResource(pic5);

Bundle bundle6=this.getIntent().getExtras();
int pic6=bundle6.getInt("image6");
show7.setImageResource(pic6);

Bundle bundle7=this.getIntent().getExtras();
int pic7=bundle7.getInt("image7");
show8.setImageResource(pic7);
}

第二个 Activity

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
jockey = (EditText)findViewById(R.id.editText2);
Controlpanel = (EditText)findViewById(R.id.editText4);
Detector = (EditText)findViewById(R.id.editText);
Extinghuer = (EditText)findViewById(R.id.editText3);

Pumpspinner=(Spinner)findViewById(R.id.Pumpspinner);
Pumpspinner1=(Spinner)findViewById(R.id.spinner);
Pumpspinner2=(Spinner)findViewById(R.id.spinner2);
Pumpspinner3=(Spinner)findViewById(R.id.spinner3);

Pump=(ImageView)findViewById(R.id.imageView);

ArrayAdapter adapter =ArrayAdapter.createFromResource(this,R.array.Pumps,android.R.layout.simple_spinner_item);
Pumpspinner.setAdapter(adapter);
Pumpspinner.setOnItemSelectedListener(this);

ArrayAdapter adapter1 =ArrayAdapter.createFromResource(this,R.array.controlpanel,android.R.layout.simple_spinner_item);
Pumpspinner1.setAdapter(adapter1);
Pumpspinner1.setOnItemSelectedListener(this);

ArrayAdapter adapter2 =ArrayAdapter.createFromResource(this,R.array.firedetector,android.R.layout.simple_spinner_item);
Pumpspinner2.setAdapter(adapter2);
Pumpspinner2.setOnItemSelectedListener(this);

ArrayAdapter adapter3 =ArrayAdapter.createFromResource(this,R.array.fireextighuer,android.R.layout.simple_spinner_item);
Pumpspinner3.setAdapter(adapter3);
Pumpspinner3.setOnItemSelectedListener(this);


FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}


}

public void onButtonClickSaveData (View v)
{
Intent mysendIntent = new Intent(Main2Activity.this, MainActivity.class);
mysendIntent.putExtra("jockeyno", jockey.getText().toString());

Bundle bundle=new Bundle();
Bundle bundle1=new Bundle();
Bundle bundle2=new Bundle();
Bundle bundle3=new Bundle();
bundle.putInt("image", R.drawable.jockpypump);
bundle1.putInt("image1", R.drawable.controlpanel1);
bundle2.putInt("image2", R.drawable.detector);
bundle3.putInt("image3", R.drawable.extinguisher1);

mysendIntent.putExtras(bundle);
mysendIntent.putExtras(bundle1);
mysendIntent.putExtras(bundle2);
mysendIntent.putExtras(bundle3);

startActivityForResult(mysendIntent,1);
}

第三个 Activity 与第二个 Activity 相同,但图像和文本不同。

最佳答案

你正在做的是这样的:

  • Main开始,启动Main2,启动Main实例——仅包含来自的数据>Main2
  • Main开始,启动Main3,启动main实例——仅包含来自的数据>Main3

你应该做的是这个

  • Main 开始,使用 startActivityForResult() 启动 Main2,在 Main2 中执行操作,结束 Main2 使用 setResult()finish(),将数据存储在 Main 中,对 Main3 重复

使用setResult(),您可以将数据从Main2传递回MainMain3也是如此.

关于java - 从 2 个不同的 Activity 启动相同的 Activity 并更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33348314/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com