我想访问片段布局的TextView,但我总是收到null。我正在访问我的主要活动。 这是我的代码的一部分:
片段类:
public class Tab1 extends Fragment {
private TextView titulo;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
{
return inflater.inflate(R.layout.tab1, container, false);
}
}
片段布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:padding="30dp"
android:baselineAligned="false"
android:background="@drawable/asteroide"
android:id="@+id/tab1">
<TextView
android:id="@+id/titulo"
style="@style/estiloAsteroides"
android:gravity="center"
android:text="@string/tituloAplicacion"
android:textSize="25dp"
android:layout_marginBottom="20dp"
android:textColor="#fffcfffd"
/>
<Button
android:id="@+id/Button01"
style="@style/estiloAsteroides"
android:text="@string/Arrancar"
android:onClick="lanzarJuego"/>
<Button
android:id="@+id/Button02"
style="@style/estiloAsteroides"
android:text="@string/Configurar"
android:onClick="lanzarPreferencias"
/>
<Button
android:id="@+id/Button03"
style="@style/estiloAsteroides"
android:text="@string/AcercaDe"
android:onClick="lanzarAcercaDe"
/>
<Button
style="@style/estiloAsteroides"
android:id="@+id/Button04"
android:text="Puntuaciones"
android:onClick="lanzarPuntuaciones"
/>
</LinearLayout>
活动类:
package com.example.garciad_u2;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTabHost;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends FragmentActivity {
private FragmentTabHost tabHost;
public static AlmacenPuntuaciones almacen= new AlmacenPuntuacionesArray();
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tabHost = (FragmentTabHost) findViewById(android.R.id.tabhost);
tabHost.setup(this, getSupportFragmentManager(), android.R.id.tabcontent);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("Lengueta 1"),
Tab1.class, null);
tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("Lengueta 2"),
Tab2.class, null);
TextView texto = (TextView) findViewById(R.id.titulo);
texto.setText("TEST");
}
public void lanzarAcercaDe (View view)
{
Intent i = new Intent(this, AcercaDe.class);
startActivity(i);
}
public void lanzarPreferencias (View view)
{
Intent i = new Intent(this, Preferencias.class);
startActivity(i);
}
public void lanzarJuego (View view)
{
Intent i = new Intent(this, Juego.class);
startActivity(i);
}
public void salir (View view)
{
finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void lanzarPuntuaciones(View view)
{
Intent i = new Intent(this, Puntuaciones.class);
startActivity(i);
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.acercaDe:
lanzarAcercaDe(null);
break;
case R.id.config:
lanzarPreferencias(null);
break;
}
return true;
}
}
活动布局:
<android.support.v4.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
TextView&#34; texto&#34;永远是空的,我不明白为什么。 谢谢你的帮助。
最好的问候。