Update dictionary list on download or remove
app/src/main/java/eu/lepiller/nani/DictionaryActivity.java
| 15 | 15 | import eu.lepiller.nani.dictionary.Dictionary; | |
| 16 | 16 | ||
| 17 | 17 | public class DictionaryActivity extends AppCompatActivity { | |
| 18 | + | static final int DICO_REQUEST = 1; | |
| 19 | + | DictionariesAdapter adapter; | |
| 18 | 20 | ||
| 19 | 21 | @Override | |
| 20 | 22 | protected void onCreate(Bundle savedInstanceState) { | |
… | |||
| 24 | 26 | toolbar.setTitle(R.string.title_activity_dictionary); | |
| 25 | 27 | setSupportActionBar(toolbar); | |
| 26 | 28 | ||
| 27 | - | ListView list_view = findViewById(R.id.dictionary_view); | |
| 29 | + | final ListView list_view = findViewById(R.id.dictionary_view); | |
| 28 | 30 | final ArrayList<Dictionary> dictionaries = DictionaryFactory.getDictionnaries(getApplicationContext()); | |
| 29 | - | list_view.setAdapter(new DictionariesAdapter(getApplicationContext(), dictionaries)); | |
| 31 | + | adapter = new DictionariesAdapter(getApplicationContext(), dictionaries); | |
| 32 | + | list_view.setAdapter(adapter); | |
| 30 | 33 | ||
| 31 | 34 | list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() { | |
| 32 | 35 | @Override | |
| 33 | 36 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | |
| 34 | 37 | Intent intent = new Intent(DictionaryActivity.this, DictionaryDownloadActivity.class); | |
| 35 | 38 | intent.putExtra("dico", position); | |
| 36 | - | startActivity(intent); | |
| 39 | + | startActivityForResult(intent, DICO_REQUEST); | |
| 37 | 40 | } | |
| 38 | 41 | }); | |
| 39 | 42 | } | |
| 40 | 43 | ||
| 44 | + | @Override | |
| 45 | + | protected void onActivityResult(int requestCode, int resultCode, Intent data) { | |
| 46 | + | if(requestCode == DICO_REQUEST) { | |
| 47 | + | adapter.notifyDataSetChanged(); | |
| 48 | + | } | |
| 49 | + | } | |
| 50 | + | ||
| 41 | 51 | } | |
app/src/main/java/eu/lepiller/nani/DictionaryDownloadActivity.java
| 23 | 23 | import java.net.URL; | |
| 24 | 24 | import java.util.Map; | |
| 25 | 25 | ||
| 26 | + | import eu.lepiller.nani.dictionary.DictionariesAdapter; | |
| 26 | 27 | import eu.lepiller.nani.dictionary.Dictionary; | |
| 27 | 28 | import eu.lepiller.nani.dictionary.DictionaryFactory; | |
| 28 | 29 | ||
… | |||
| 39 | 40 | int position = getIntent().getExtras().getInt("dico"); | |
| 40 | 41 | ||
| 41 | 42 | final Dictionary d = DictionaryFactory.get(position); | |
| 43 | + | setResult(DictionaryActivity.DICO_REQUEST); | |
| 42 | 44 | updateLayout(d); | |
| 43 | 45 | } | |
| 44 | 46 | ||