Comment accéder à l'Activité de la vue des autres Activités de la classe
Mon problème est que lorsque je modifie le texte d'une TextView
dans ma classe Principale, il retourne nullPointerException.
voici mon code:
main.xml
<TabHost ...>
<RelativeLayout ...>
<LinearLayout ...>
<TabWidget .../>
<FrameLayout ...>
<ListView ../>
</FrameLayout>
</LinearLayout>
<LinearLayout ...>
<TextView android:id="@+id/status" ... />
</LinearLayout>
</RelativeLayout>
</TabHost>
Classe principale
....
TabHost tabHost;
TabHost.TabSpec spec;
Intent intent;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//display implementation of TabHost
....
//Contacts tab
intent = new Intent().setClass(this, Contacts.class);
spec = tabHost.newTabSpec("contacts").setIndicator("Contacts", res.getDrawable(R.drawable.ic_tab_contacts)).setContent(intent);
tabHost.addTab(spec);
}
Puis la classe qui va mettre à jour le statut TextView est-ce:
Contacts de classe
public class Contacts extends ListActivity{
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//gather info to display in ListView
....
updateStatus("New Status");
}
private void updateStatus(String status){
TextView labelView = (TextView) findViewById(R.id.status);
labelView.setText(status);
}
}
labelView.setText(status); Error occurs here....
Pls m'aider. Je ne peux trouver aucune solution sur le net.
J'ai besoin de mettre à jour le statut....
heres mon manifeste:
...
<application ...>
<activity android:name=".Main" ... >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Contacts" android:label="@string/app_name"></activity>
<activity android:name=".OtherClass" android:label="@string/app_name"></activity>
<activity android:name=".OtherClass2" android:label="@string/app_name"></activity>
</application>
...
À l'avance, merci pour toute aide.
OriginalL'auteur jayellos | 2011-10-18
Vous devez vous connecter pour publier un commentaire.
Vous voyez la vue avec id
status
existe dans l'activité Principale contexte, alors que vous essayez de trouver parmi les Contacts contexte d'activité. C'est pourquoi elle est de retournull
.Essayer cela, il faut résoudre votre problème :
Activité Principale
Contacts De L'Activité
j'ai déclaré public TextView sStatus; mais ne trouvez pas le Principal.sStatus.
S'il vous plaît aller à travers mon code à nouveau.
sStatus
n'est pas un TextView, il est une variable de type String, et il est statique.Merci beaucoup Aki. enfin, vous avez résolu mon problème. Merci..
Mon application est un peu buggé, mais bien sûr, vous pouvez trouver quelque chose avec un peu de peaufinage 🙂
OriginalL'auteur Arnab Chakraborty
Vue est associé uniquement à la main.
Vous devez réinitialiser le contentView dans les Contacts.
Code modifié
OriginalL'auteur Anoop