2013-02-18 2 views
0

Ok, donc j'ai essayé de résoudre cela moi-même déjà mais même si j'ai trouvé une réponse à une question ici sur stackoverflow (à savoir celui-ci Errors "Syntax error on token(s), misplaced construct(s), VariableDeclaratorId expected after this token \t MainActivity.java") j'ai encore des problèmes. J'ai une activité appelée HeadlinesActivity qui est lancée à partir de MainActivity en cliquant sur un bouton. J'ai eu le même problème que celui de la question que j'ai liée mais j'ai déplacé la déclaration ListView et d'autres choses liées dans mon onCreate() comme suggéré, et cela s'est débarrassé de l'erreur dans eclipse. Cependant, maintenant, quand j'essaie de tester l'application sur un émulateur, si j'essaie de cliquer sur le bouton des titres, Android donne un message disant que mon application s'est arrêtée. Ceci est mon code pour HeadlinesActivity:Problèmes Android avec ListView

import android.annotation.SuppressLint; 
import android.app.Activity; 
import android.os.Build; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class HeadlinesActivity extends Activity { 

@SuppressLint("NewApi") 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_headlines); 

    // Make sure we're running on Honeycomb or higher to use ActionBar APIs 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { 
     // Show the Up button in the action bar. 
     getActionBar().setDisplayHomeAsUpEnabled(true) ; 
    } 

    final ListView listView = (ListView) findViewById(R.id.listView1); 
    final String[] values = { "Android", "iPhone", "WindowsMobile", 
     "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
     "Linux", "OS/2" } ; 
    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     R.layout.activity_headlines, R.id.textView1, values); 

    // Assign adapter to ListView 
    listView.setAdapter(adapter) ; 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.activity_headlines, menu); 
    return true; 
} 

} 
+2

Quel est le message d'erreur dans Logcat? –

+0

@AlexFlorescu: Euh, je suis un peu nouveau dans le développement Android, donc je ne suis pas très familier avec Logcat. Je me souviens peut-être de quelque chose à ce sujet. peut-être que je ne l'ai pas activé. Comment puis-je le voir? –

+0

Si vous utilisez Eclipse, LogCat s'ouvre automatiquement lorsque l'application se bloque. Mettez en surbrillance les lignes d'erreur rouges et appuyez sur Ctrl + C pour les copier, puis collez-les dans votre question. (Cliquez sur "[modifier]" ci-dessous votre question.) – Sam

Répondre

1

Vous utilisez la même disposition dans votre activité et dans chaque rangée ListView ...

  • mise en page de l'activité doit avoir le ListView (et tout ce que vous vouloir).
  • Les lignes ListView ne devraient pas avoir un élément ListView ... Il doit contenir des blocs de construction plus basiques comme TextViews, ImageViews, etc

En ce qui concerne l'erreur actuelle, je suppose que activity_headlines.xml n'a pas ListView avec l'ID listView1 ou TextView avec l'ID textView1. Essayez:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, values); 
+0

Merci, ça l'a arrangé pour moi. :) –