Bonsoir,

Je rencontre un problème avec les onglets sur android.

j'aimerais pouvoir afficher une listView dans un onglet.

Je crée mes deux onglets depuis une autre class qui crée un INTENT pour chaque onglet, puis dans ces INTENTS, je déclare ma listView dans le ONCREATE; l'application plante ensuite.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
public class Xamax_news extends ListActivity implements OnClickListener {
	//Variables Globales
	public int selectedItemIndex = 0;
 
	public final ArrayList<String> list = new ArrayList<String>();
	private ListView listView;
	private Button clearButton;
	private ArrayAdapter<String> adapter = null;
 
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.xamax_news);
		clearButton = (Button) this.findViewById(R.id.btnClear);
		clearButton.setOnClickListener(this);
 
		listView = (ListView) this.findViewById(R.id.lstViewNews);
		listView.setOnClickListener(this);
 
		adapter = new ArrayAdapter<String>(this, R.layout.dataview, R.id.ListItemView);
		listView.setAdapter(adapter);
 
		//getFluxAtom();
	}
 
	@Override
	public void onClick(View v) {
		switch (v.getId()){
		case R.id.btnClear:
			adapter.clear();
			adapter.notifyDataSetChanged();
			break;
		}	
	}
	public void onItemClick(AdapterView<?> parent, View view, int position, long duration){
		selectedItemIndex = position;
		Toast.makeText(getApplicationContext(), "Selected " + adapter.getItem(position) + " @ " + position, Toast.LENGTH_SHORT).show();
	}
	private void getRSS(String rss)
	{
 
		URL feedUrl;
		try
			{
				Log.d("DEBUG", "Entered:" + rss);
				feedUrl = new URL(rss);
 
				SyndFeedInput input = new SyndFeedInput();
				SyndFeed feed = input.build(new XmlReader(feedUrl));
				List entries = feed.getEntries();
				Toast.makeText(this, "#Feeds retrieved: " + entries.size(), Toast.LENGTH_SHORT);
 
				Iterator iterator = entries.listIterator();
				while (iterator.hasNext())
					{
						SyndEntry ent = (SyndEntry) iterator.next();
						String title = ent.getTitle();
						adapter.add(title);
					}
				adapter.notifyDataSetChanged();
 
			}
		catch (MalformedURLException e)
			{
				e.printStackTrace();
			}
		catch (IllegalArgumentException e)
			{
				e.printStackTrace();
			}
		catch (FeedException e)
			{
				e.printStackTrace();
			}
		catch (IOException e)
			{
				e.printStackTrace();
			}
	}
 
	public void getFluxAtom(){
		String rss = "https://sites.google.com/site/jtarabbia/XAMAX/posts.xml";
		getRSS(rss);
	}
 
}
ICI le code pour déclarer mes deux onglets:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		TabHost tabHost = getTabHost();  // L'activité TabHost
 
		//Attributions des class pour chaque onglet
		tabHost.addTab(tabHost.newTabSpec("Xamax_news").setIndicator("Xamax news",this.getResources().getDrawable(android.R.drawable.ic_menu_agenda)).setContent(new Intent(this, Xamax_news.class)));
		tabHost.addTab(tabHost.newTabSpec("Xamax_info").setIndicator("Neuchâtel Xamax Informations",this.getResources().getDrawable(R.drawable.mytab)).setContent(new Intent(this, Xamax_infos.class)));
		//met le focus sur le premier onglet
		tabHost.setCurrentTab(0);
	}
Dans la classe xamax_news se trouve le premier code en haut du message.

Si je supprime la liste view tout fonctionne bien. Le logCat me met les erreurs normal "fatal error".

Merci John