请帮我生成一个Android程序代码,程序名为单词本,功能要求如下:1.单词本可以通过用户输入中英文,来实现单词的添加;2.用户可以随意开关某个单词的中文释义;3.用户可以删除已经添加的单词;4.用户关机或者退出应用不会导致单词本内的单词丢失;5.用户可以自定义单词本中单词的顺序;6.可以选择自己喜欢的界面风格;7.用户可以快捷的查找某个单词在有道上的详细信息;8.用户可以查找某个单词。
时间: 2024-03-22 19:39:29 浏览: 28
好的,以下是一个简单的单词本Android程序的代码:
```
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
import java.util.Collections;
public class MainActivity extends AppCompatActivity {
EditText etEnglish, etChinese;
Button btnAdd, btnDelete;
ListView lvWords;
ArrayList<Word> wordsList;
WordsAdapter wordsAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
etEnglish = findViewById(R.id.et_english);
etChinese = findViewById(R.id.et_chinese);
btnAdd = findViewById(R.id.btn_add);
btnDelete = findViewById(R.id.btn_delete);
lvWords = findViewById(R.id.lv_words);
wordsList = new ArrayList<>();
wordsAdapter = new WordsAdapter(this, wordsList);
lvWords.setAdapter(wordsAdapter);
btnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String english = etEnglish.getText().toString();
String chinese = etChinese.getText().toString();
if (!english.isEmpty() && !chinese.isEmpty()) {
Word word = new Word(english, chinese);
wordsList.add(word);
wordsAdapter.notifyDataSetChanged();
etEnglish.setText("");
etChinese.setText("");
} else {
Toast.makeText(MainActivity.this, "Please enter both English and Chinese", Toast.LENGTH_SHORT).show();
}
}
});
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = lvWords.getCheckedItemPosition();
if (position != ListView.INVALID_POSITION) {
wordsList.remove(position);
wordsAdapter.notifyDataSetChanged();
lvWords.clearChoices();
} else {
Toast.makeText(MainActivity.this, "Please select a word to delete", Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putParcelableArrayList("wordsList", wordsList);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
wordsList = savedInstanceState.getParcelableArrayList("wordsList");
wordsAdapter = new WordsAdapter(this, wordsList);
lvWords.setAdapter(wordsAdapter);
}
public void sortWords(View view) {
Collections.sort(wordsList);
wordsAdapter.notifyDataSetChanged();
}
}
```
该程序的实现思路如下:
1. 创建一个Word类,用来存储单词和中文释义。
2. 创建一个WordsAdapter类,用来显示单词列表。
3. 在MainActivity中初始化界面元素,并创建wordsList和wordsAdapter对象。
4. 通过按钮点击事件将用户输入的单词和中文释义添加到wordsList中,并刷新wordsAdapter。
5. 通过按钮点击事件删除用户选中的单词,并刷新wordsAdapter。
6. 在onSaveInstanceState和onRestoreInstanceState方法中保存和恢复wordsList。
7. 创建sortWords方法,用来对单词列表按字母顺序排序。
在此基础上,你可以根据需求添加其他功能,如打开和关闭某个单词的中文释义、自定义单词顺序、选择界面风格、快速查找某个单词在有道上的详细信息等。
相关推荐
![.zip](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)