gpt4 book ai didi

java - 我是否需要创建另一个 Activity 来显示一些信息? (安卓) (Java)

转载 作者:行者123 更新时间:2023-12-04 12:53:43 27 4
gpt4 key购买 nike

嗨,我是一个 android 初学者,只是想弄清楚,
现在我被困了几天,想知道如何创建 1 个 Activity 并根据用户选择的按钮更改其内容。
所以我正在构建一个小项目,它是一个急救应用程序,其中至少有 15-25 个按钮列表,可以显示不同类型的急救教程。实现这一点的最佳方法是什么?
到目前为止,我已经设法创建了一个按钮列表,将用户引导到另一个 Activity
list of buttons .
单击刻录按钮后,这些步骤将弹出,每个步骤都是可点击的,并将引导用户进入另一个 Activity ,该 Activity 将使用图像和视频详细说明该步骤
After clicking the burns button
我已经尝试使用 1 个 Activity 并使用 intent.putExtra() 发送信息但是问题是我无法更改每个步骤(详细说明部分)的按钮目标,它更改了每个步骤的信息,但是当它被单击时。它只是将我引向(烧伤步骤)的相同详细说明部分。
我确信有更好的方法来实现这一点,而不是为每个单击的按钮创建另一个 Activity ,只显示很少的信息。任何帮助将不胜感激请注意,我真的只是一个初学者,内容丰富的解释将真正帮助我很多谢谢。
代码(list_of_firstAid.java):

  buttonBurns.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getActivity(), burnsActivity.class);

intent.putExtra("procedure_1", getResources().getString(R.string.burns_procedure_1));
intent.putExtra("procedure_2", getResources().getString(R.string.burns_procedure_2));
intent.putExtra("procedure_3", getResources().getString(R.string.burns_procedure_3));
intent.putExtra("procedure_4", getResources().getString(R.string.burns_procedure_4));
intent.putExtra("procedure_5", getResources().getString(R.string.burns_procedure_5));
intent.putExtra("note_procedure_1", getResources().getString(R.string.burns_note_1));

startActivity(intent);
}
});
代码:(burnsActivity.java)
public void process(View view){
if(view.getId() == R.id.burnsStep1)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_1_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk2);
intent.putExtra("step_2", "this is step 2");
startActivity(intent);
}
else if(view.getId() == R.id.burnsStep2)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_2_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk3);
intent.putExtra("step_2", "");
startActivity(intent);
}
else if (view.getId() == R.id.burnsStep3)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_3_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk5);
intent.putExtra("step_2", getResources().getString(R.string.firstaid_burnsactivity_information_number_3_bullet_2));
startActivity(intent);
}
else if (view.getId() == R.id.burnsStep4)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_4_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk5);
intent.putExtra("step_2", getResources().getString(R.string.firstaid_burnsactivity_information_number_4_bullet_2));
startActivity(intent);
}
else if (view.getId() == R.id.burnsStep5)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_5_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk5);
intent.putExtra("step_2", getResources().getString(R.string.firstaid_burnsactivity_information_number_5_bullet_2));
startActivity(intent);
}
else if (view.getId() == R.id.burnsNote1)
{
Intent intent = new Intent(burnsActivity.this, displayInfoActivity.class);
intent.putExtra("step_1", getResources().getString(R.string.firstaid_burnsactivity_information_number_6_bullet_1));
intent.putExtra("image_1", R.drawable.round_bk5);
intent.putExtra("step_2", getResources().getString(R.string.firstaid_burnsactivity_information_number_6_bullet_2));
startActivity(intent);
}
编辑:上面的代码将更改每个步骤的信息。
但是,这些步骤也可以单击。因此,当我重用此 Activity 进行出血(例如)并更改每个步骤的文本时,它可以工作,但是当单击它时,它会显示与我放在burnsActivity 上的相同信息。
enter image description here

最佳答案

我也是一名初级 Android 开发人员,我曾开发过一个与您的非常相似的应用程序。
结构
您应该在模型、 View 和 Controller 层中分离您的项目,以使其更易于开发和维护。

模型
模型由两个名为 AidTool 的类组成和 AidBox .AidTool - 它代表一个单一的辅助工具。它应该包含工具的名称及其教程。为每个工具分配一个 UID,这将在以后为您提供帮助。AidBox - 它将所有辅助工具存储在 ArrayList 中.它应该包含检索任何工具的方法。

看法
View 包含一个 Activity ToolList这将显示每个辅助工具。我建议你使用 RecyclerView显示每个辅助工具的名称并处理它们上的任何点击事件。

Controller
Controller 由单个 Activity ToolTutorial .单击 ToolList 上的任何辅助工具时, 开始 Activity ToolTutorial .它应该使用一个额外的命名工具 UID,用于显示工具教程。

我没有提供很多细节。我刚刚提供了应用程序的整体结构。使用模型层,您可以只使用单个 Activity 来显示任何辅助工具的教程。您还应该研究单例。如果您使用此结构,它可能会对您的应用程序有所帮​​助。
我希望我对你有所帮助。

关于java - 我是否需要创建另一个 Activity 来显示一些信息? (安卓) (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69202067/

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