it-swarm.com.de

Warum kann ich keinen Text für eine Android-Textansicht festlegen?

Ich habe ein Problem mit dem Festlegen von Text in einer Textansicht:

TextView Android:editable = "true".

In meiner .Java scheint das so zu funktionieren:

 text = (EditText) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");

Aber es tut nicht Kann mir jemand sagen, was hier los ist?

18
Christoph

Setzen Sie in Ihrer Java-Klasse den Typ "EditText" auf "TextView". Weil Sie eine TextView in der layout.xml-Datei deklariert haben

17
Noman

Der Code sollte stattdessen so aussehen:

TextView text = (TextView) findViewById(R.id.this_is_the_id_of_textview);
text.setText("test");
35
Arnab C.

Verwenden Sie den folgenden Code ....__, um in einer der Aktivitäten aktiv zu werden. Folgen Sie diesen Schritten nacheinander:

1.Deklare

    private TextView event_post;

2.Binden Sie dies 

    event_post = (TextView) findViewById(R.id.text_post);

3.SetText in 

    event_post.setText(event_post_count);
5
135

Versuchen Sie es so:

TextView text=(TextView)findViewById(R.id.textviewID);
text.setText("Text");

An Stelle von:

text = (EditText) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");
4
Mr.Bunny

Ich hatte ein ähnliches Problem, mein Programm stürzte jedoch ab, als ich versuchte, den Text festzulegen. Ich habe versucht, den Textwert innerhalb einer Klasse festzulegen, die AsyncTask erweitert, und genau das verursachte das Problem. 

Um das Problem zu beheben, habe ich meinen setText in die onPostExecute-Methode verschoben

protected void onPostExecute(Void result) {
    super.onPostExecute(result);

    TextView text = (TextView) findViewById(R.id.errorsToday);
    text.setText("new string value");
}
1
Scott Bentley

Oder Sie können dies auf folgende Weise tun:

((TextView)findViewById(R.id.this_is_the_id_of_textview)).setText("Test");
1
Hamedz

Sie legen den Text auf ein Feld fest, das in einer anderen Instanz Ihrer Aktivität in bar gerendert wurde, z. B. wenn es landschaftsorientiert war. Dann wurde es aus irgendeinem Grund neu erstellt. Sie müssen den Text auf ungewöhnliche Weise festlegen, indem Sie die Zeichenfolge in SharedPreferences speichern und die Aktivität mit recreate () neu starten, beispielsweise für mOutputText:

@Override
protected void onResume() {
    super.onResume();
    String sLcl=mPreferences.getString("response","");
    if(!sLcl.isEmpty()){
        mOutputText.setText(sLcl);
        mPreferences.edit().putString("response","").commit();
    }
}

private void changeText() {
    mPreferences.edit().putString("response",responseText).commit();
    recreate();
}
@Override
protected void onActivityResult(
        int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
        case CAPTURE_MEDIA_RESULT_CODE:
            if (null == data || null == data.getData()) {
               showMessage("Sorry. You didn't save any video");
            } else {
                videoUri = data.getData();
                mProgress = new ProgressDialog(this);
                mProgress.setMessage("Uploading onYoutube ...");

                authorizeIt();// SAY YOU CALL THE changeText() at the end of this method
            }
            break;
    }
}
0
CodeToLife

In Ihrem XML-Dokument hatten Sie Textview verwendet. In Java-Code hatten Sie jedoch EditText anstelle von TextView verwendet. Wenn Sie es in TextView ändern, können Sie Text auf Ihr TextView-Objekt setzen.

text = (TextView) findViewById(R.id.this_is_the_id_of_textview);
text.setText("TEST");

hoffe es wird klappen.

0