Ich habe eine globale Variable. Während der Arbeit der App ändert sich der Wert. Es gibt eine Schaltfläche zum Teilen und wenn ich darauf tippe, kann ich nur den Wert teilen, wenn die App gestartet wurde. Ich möchte mit shareIntent den aktualisierten Wert senden. Wie es geht?Wie aktualisiere ich Daten in Share Intent?
private int counter;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
counterTextView = (TextView) findViewById(R.id.counter_text_view);
counter++;
String counterStr = Integer.toString(counter);
counterTextView.setText(counterStr);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate menu resource file.
getMenuInflater().inflate(R.menu.main, menu);
// Locate MenuItem with ShareActionProvider
MenuItem item = menu.findItem(R.id.menu_item_share);
// Fetch and store ShareActionProvider
mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
setShareIntent(createShareIntent());
// Return true to display menu
return true;
}
// Call to update the share intent
private void setShareIntent(Intent shareIntent) {
if (mShareActionProvider != null) {
mShareActionProvider.setShareIntent(shareIntent);
}
}
private Intent createShareIntent() {
Intent shareIntent = new Intent(Intent.ACTION_SEND);
shareIntent.setType("text/plain");
shareIntent.putExtra(Intent.EXTRA_TEXT,
counter);
return shareIntent;
}
die Variable statisch machen? – Konrad
Sorry, aber es funktioniert nicht. Ich habe es versucht ... –