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 |