2016-05-27 20 views
0

繼我的第一個應用程序成功發佈後,我想挑戰自己建立一個教會語言的應用程序。我使用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"), 

}; 

}

回答

0

一個Activity會爲您的應用程序做。您可以使用動畫來通知用戶問題已更改,而不是開始新的活動。

考慮使用本地存儲(即數據庫)。這將簡化存儲,檢索和跟蹤短語顯示的順序。只需添加一個已經訪問過某個短語的標誌,即可知道下一個短語是哪一個,並只檢索未訪問的短語。

+0

謝謝你的幫助。我已經決定在練習中使用多個列表,但是我遇到了一個問題:如何使用String標題訪問列表的名稱?我已經更新了我的原始問題 –

+0

通過給每個練習賦予自己獨特的int引用,然後使用這個intref創建練習的散列圖解決了這個問題 –

相關問題