继我的第一个应用程序成功发布后,我想挑战自己建立一个教会语言的应用程序。我使用App Inventor创建了一个原型,它基本上包含一个短语,一个播放录音的按钮,一个可以进行Toast翻译的按钮和一个下一个按钮。在现有活动中回收利用开放另一活动
当我开始编写这个应用程序时,我每次按下一个按钮时都依赖于打开一个新活动的拐杖。这是低效的,坦率地说,我是愚蠢的。
最好是按顺序构建所有短语,翻译和音频文件的列表/数组,并在点击后简单更新所有相关视图?如果我希望应用程序也有用户输入自己对问题的回复的活动,那么如何跟踪序列?
即4个短语活动,然后是1个问答活动,冲洗并重复。
谢谢你帮助一个新手。
编辑ExerciseActivity添加
public class ExerciseActivity extends AppCompatActivity {
public static final String TopicKey = "topic";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_exercise);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Intent intent = getIntent();
String topic = intent.getStringExtra(TopicKey);
TextView description = (TextView)findViewById(R.id.phrase);
**description.setText(FindExercise(topic, 0));**
我不能得到的setText通过调用运动的主题/标题,即基础工作,因为它是一个字符串,而不是一个练习。我如何使用从其他活动收到的标题访问列表?
}
public String FindExercise (Exercise[] exercise, int position){
return exercise[position].description;
}
//Database for exercise 1 "Basics"
Exercise[] Basics = new Exercise[]{
new Exercise("Ni hao", "Hello", "b1", "b1"),
};
}
谢谢你的帮助。我已经决定在练习中使用多个列表,但是我遇到了一个问题:如何使用String标题访问列表的名称?我已经更新了我的原始问题 –
通过给每个练习赋予自己独特的int引用,然后使用这个intref创建练习的散列图解决了这个问题 –