B
Braesident
Ambitioniertes Mitglied
- 1
Hi Leute,
ich weiß es gibt unzählige Ergebnisse im Internet. Trotzdem konnte ich das Problem noch nicht lösen.
In meinem Fall ist es so dass ich ein ListView in meiner MainActivity habe das mir Dateien aus einem Ordner auflistet. In einer zweiten Activity füge ich eine neue Datei auf der SD-Karte hinzu, welche dann nach rückkehr in die MainAct. mit aufgelistet sein sollte.
Der versprechenste Lösungsvorschlag war notifyDataSetChanged() .
Habe es aber leider noch nicht hinbekommen.
ich weiß es gibt unzählige Ergebnisse im Internet. Trotzdem konnte ich das Problem noch nicht lösen.
In meinem Fall ist es so dass ich ein ListView in meiner MainActivity habe das mir Dateien aus einem Ordner auflistet. In einer zweiten Activity füge ich eine neue Datei auf der SD-Karte hinzu, welche dann nach rückkehr in die MainAct. mit aufgelistet sein sollte.
Der versprechenste Lösungsvorschlag war notifyDataSetChanged() .
Habe es aber leider noch nicht hinbekommen.
Code:
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
public static final String LOG_TAG = MainActivity.class.getSimpleName();
ArrayAdapter arrayAdapter1;
ListView dateiListe;
File file1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
Log.d(LOG_TAG, "onCreate");
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent("de.meinname.vertraege.DOKUMENTNEU"));
}
});
try {
//Dateien Lesen
file1 = new File(Environment.getExternalStorageDirectory() + "/Dokumente/");
if (!file1.exists()){
file1.mkdir();
}
FilenameFilter fFilter = new FilenameFilter() {
@Override
public boolean accept(File dir, String filename) {
String lowerCaseName = filename.toLowerCase();
if (lowerCaseName.endsWith(".txt")) {
return true;
} else {
return false;
}
}
};
arrayAdapter1 = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice, file1.list(fFilter));
dateiListe = (ListView) findViewById(R.id.lvDateien);
dateiListe.setAdapter(arrayAdapter1);
dateiListe.setOnItemClickListener(this);
} catch (Exception e) {
Log.d(LOG_TAG, "FEHLER: " + e);
}
}
@Override
protected void onResume() {
super.onResume();
Log.d(LOG_TAG, "onResume ausgeführt");
}
@Override
protected void onRestart() {
super.onRestart();
Log.d(LOG_TAG, "onRestart ausgeführt");
arrayAdapter1.notifyDataSetChanged();
//dateiListe.setAdapter(arrayAdapter1); // auch hiermit probiert
}
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
// TODO Dokument aus ListView öffnen / bearbeiten
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}