我尝试在主活动中初始化自定义数组。我想从包含数据和按钮单击的另一个活动更新/编辑数组中的元素。我的主活动是主活动,第二个活动是显示。有人能帮忙吗?
public class MainActivity extends AppCompatActivity {
public Pets[] arrayList=new Pets[]{
new Pets(R.drawable.dog,"Dog","Wolf","The dog is a domesticated descendant of the wolf. Also called the domestic dog"),
new Pets(R.drawable.bird,"Bird","Unknown!","Birds are a group of warm-blooded vertebrates constituting the class Aves characterised by feathers, toothless beaked jaws"),
new Pets(R.drawable.cat,"Cat","Tiger","The cat is a domestic species of small carnivorous mammal"),
};
textd = ed.getText().toString();
ed.setVisibility(View.GONE);
d.setVisibility(View.VISIBLE);
d.setText(textd);
Intent i = new Intent(Display.this, MainActivity.class);
i.putExtra("edit", textd);
i.putExtra("pos", pos);
i.putExtra("click", click);
startActivity(i);
finish();
此代码位于显示活动中。我需要更改此活动中的数据,而不是切换到主活动
2条答案
按热度按时间bis0qfac1#
若要从另一个Activity更新数组中的元素,您可以使用Intent将数据从第二个Activity(Display)传递到第一个Activity(MainActivity)。
在Display Activity中,您可以创建一个按钮,用于将Intent发送到MainActivity,并在Intent中包含要更新的数据。然后,您可以在MainActivity中检索此数据,并使用它更新数组中的相应元素。
下面是一个示例,说明如何执行此操作:
在Display Activity中,创建一个在单击时向MainActivity发送Intent的按钮。为此,您可以为该按钮设置OnClickListener,并使用Intent作为参数调用startActivity()方法:
在MainActivity中,重写onNewIntent()方法以从Intent中检索数据并更新数组中的元素。为此,您可以调用getIntent()方法以获取用于启动Activity的Intent,然后从Intent中提取数据:
bt1cpqcv2#
首先,不要在主活动中创建数据。活动是你的视图,如果你把数据源和视图分开,你可以很容易地更新它。