2016-08-20 1 views
0

Ich kann nicht scheinen, ein einfaches Problem herauszufinden. Ich benutze Android Studio und alles, was ich zu erreichen versuche, ist die Auswahl eines Menüpunktes, der nur Text unterhalb der Hallo-Welt hinzufügen wird und er so oft drucken wird, wie du die Menü-Taste drückst. Mein ganzer Code ist jetzt, ein Textansichtfeld zu ersetzen, das eine Identifikation mit einer anderen Zeichenkette hat. Ich verwirrte mit Optionen wie das Ersetzen der Greetingview = (Textansicht) findViewById zu etwas, das die Zeichenfolge zieht, aber es kam alles mit Fehlern.Android Studio Drucken einer Zeile Text aus dem Menü

public class MainActivity extends AppCompatActivity { 


private TextView greetingView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    greetingView = (TextView) findViewById(R.id.newMessage); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_main, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    if (item.getItemId() == R.id.action_message){ 
     greetingView.setText(R.string.message); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

}

Dies ist der leere Text, den ich mit der Meldung ersetzen.

+0

Jeder Code, den Sie ausprobiert haben. – sumandas

Antwort

0

Sie können den neuen Text mit dem ursprünglichen Wert anhängen, gefolgt von einem neuen Zeilenzeichen (\ n). Bitte stellen Sie auch sicher, dass die Textansicht genügend Höhe hat, um den neu angehängten Text aufzunehmen.

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     if (item.getItemId() == R.id.action_message){ 
      greetingView.setText(greetingView.getText() + "\n" + R.string.message); 
      return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
+0

Danke! Ich werde es versuchen, wenn ich eine Chance habe. Um einen solchen Text hinzuzufügen, brauchst du immer ein Textfeld, in das der Text eingefügt werden kann. Ich bin nur neugierig. –

+0

@NickInman Zuerst müssen Sie entscheiden, warum Sie Text hinzufügen müssen. Wenn Ihr Textfeld beispielsweise ein "Protokoll" ist, das zunimmt, wenn das System neue Nachrichten ausgibt, können Sie den neuen Text einfach an den ursprünglichen Text anhängen (ersetzen Sie den neuen Text durch den ursprünglichen Text, verwenden Sie aber immer noch dasselbe Textansichts-Steuerelement) . Wenn Sie neue Elemente hinzufügen möchten, die angeklickt werden können, sollten Sie eine Listenansicht (oder einen anderen Container) verwenden, um die Textansichten zu speichern und immer eine neue Textansicht hinzuzufügen, anstatt die ursprüngliche zu ersetzen. – Soyokaze

Verwandte Themen