Auf eine TextView zugreifen

  • Antworten:4
Hannah H.
  • Forum-Beiträge: 16

20.05.2010, 15:52:17 via Website

Hallo Zusammen,

ich bin gerade etwas am Verzweifeln, ich hab eine TextView in einer bar.xml definiert. Sie sieht folgender massen aus:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget44"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<TextView
android:id="@+id/barname"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textStyle="bold"
android:layout_marginTop="5dp"
android:layout_marginLeft="5dp"/>
</LinearLayout>

Und jetzt würde ich gerne in der Klasse BarDetails einen Text in diese TextView schreiben, der Code ist folgender massen:

TextView test = (TextView) findViewById(R.id.barname);
if (test != null) {
test.setText("Test Bar");
setContentView(test);
}

weiter oben im Code setze ich ich die View auf die bar.xml mit dieser Zeile:
setContentView(R.layout.bar);

Was mache ich falsch?
Bzw. habt ihr eine Weiter Idee was ich noch ausprobieren könnte?

LG
Hannah

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

20.05.2010, 15:56:02 via Website

für was machst du ein
setContentView mit deiner textview?

swordiApps Blog - Website

Antworten
Jack-In-Da-Box
  • Forum-Beiträge: 1.569

20.05.2010, 15:58:29 via Website

so sollte es gehen:

1TextView test = (TextView) findViewById(R.id.barname);
2test.setText("Das ist ein Testtext");

Antworten
Hannah H.
  • Forum-Beiträge: 16

20.05.2010, 15:58:59 via Website

/* Create and modify titlebar */
requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.bar);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title);

ImageView button1 = (ImageView)findViewById(R.id.button1);
button1.setImageResource(R.drawable.button_back);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
finish();
}
});
TextView test = (TextView) findViewById(R.id.barname);
if (test != null) {
test.setText("Test Bar");}

wird in diesem Teil des Codes gemacht und das andere setContenView war dann nur noch ein letzter Versuch ... da ich momentan nicht genau weiß was ich falsch mache!

Antworten
Hannah H.
  • Forum-Beiträge: 16

20.05.2010, 16:04:21 via Website

Erstmal vielen Dank für die Schnelle Antwort, das ist ja echt Spitze!
Jetzt hab ich aber doch noch eine kleine Frage zum Verständnis.
In einer anderen Datei, sieht der Quellcode folgender massen aus:

public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
Bar o = items.get(position);
if (o != null) {
TextView tb = (TextView) v.findViewById(R.id.topBarname);
TextView tt = (TextView) v.findViewById(R.id.topTime);
TextView bk = (TextView) v.findViewById(R.id.bottKm);
if (tb != null) {
tb.setText(o.getName());
}
if (tt != null) {
tt.setText("Zeit: 17 - 20 Uhr");
}
if(bk != null){
bk.setText("Entfernung: "+ o.getStreet());
}

}
return v;
}

da kann ich Abfragen ob die TextView != null ist und bei dem Beispiel gerade eben nicht. Hat das mit dem LayoutInflater was zu tun? Ansonsten verstehe ich das leider nicht!

Antworten