2011-12-20 4 views
2

Je suis nouveau dans le développement Android à l'aide PhoneGap, je tente de construire un menu d'options à travers un tutoriel de http://developer.android.com/guide/topics/ui/menus.html, mais il a toujours donné des messages d'erreur comme ci-dessous:développement android sur le menu des options

[2011-12-20 16:45:28 - HelloPhoneGap] W/ResourceType(23444): Bad XML block: header size >84 or total size 0 is larger than data size 0 [2011-12-20 16:45:28 - HelloPhoneGap] C:..\workspace\HelloPhoneGap\res\menu\menu.xml:3: >error: Error: No resource found that matches the given name (at 'title' with value >'@string/new_game'). [2011-12-20 16:45:28 - HelloPhoneGap] C:..\workspace\HelloPhoneGap\res\menu\menu.xml:5: >error: Error: No resource found that matches the given name (at 'title' with value >'@string/help').

Voici console Code:

package com.phonegap.helloworld; 

import android.os.Bundle; 
import com.phonegap.*; 

public class App extends DroidGap { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    super.loadUrl("file:///android_asset/www/jqm/index.htm"); 
} 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.game_menu, menu); 
    return true; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.new_game: 
     newGame(); 
     return true; 
    case R.id.help: 
     showHelp(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 
    } 
} 

@Override 
public boolean onKeyDown(int keyCode,KeyEvent event){ 
     if (keyCode == KeyEvent.KEYCODE_MENU) { 
      return false; 
     }else{ 
      return super.onKeyDown(keyCode, event); 
     } 

} 

} 

menu.xml

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/new_game" 
     android:title="@string/new_game" /> 
    <item android:id="@+id/help" 
     android:title="@string/help" /> 
</menu> 

Quelqu'un at-il t Qu'est-ce qui cause les erreurs?

Merci beaucoup!


Après définir la chaîne en string.xml, l'erreur disparu mais j'ai rencontrer de nouvelles erreurs comme ci-dessous

KeyEvent cannot be resolved to a type App.java /HelloPhoneGap/src/com/phonegap/helloworld line 39 Java Problem 
KeyEvent cannot be resolved to a variable App.java /HelloPhoneGap/src/com/phonegap/helloworld line 40 Java Problem 
Menu cannot be resolved to a type App.java /HelloPhoneGap/src/com/phonegap/helloworld line 17 Java Problem 
MenuInflater cannot be resolved to a type App.java /HelloPhoneGap/src/com/phonegap/helloworld line 18 Java Problem 
MenuItem cannot be resolved to a type App.java /HelloPhoneGap/src/com/phonegap/helloworld line 24 Java Problem 

Répondre

1

vous devez avoir définir des chaînes new_game des valeurs comme

<resources> 
<string name="new_game">Your String</string> 
<string name="help">Your String</string> 
</resources> 

se réfèrent this

Vous pouvez créer des valeurs fichier xml -Si vous utilisez Eclipse, puis faites un clic droit sur le projet et choisir d'autres et il sélectionnez le fichier android xml, puis donné la fenêtre sélectionnez le type de ressource en tant que valeur,

+0

merci, les erreurs ont disparu, mais de nouveaux messages d'erreur sort, s'il vous plaît se référer à mon post édité – conmen

+0

Il semble que vous avez oublié d'ajouter importer ceci .... import android.view.KeyEvent; – sampathpremarathna

1

On dirait que vous manquez votre /res/values/strings.xml Il devrait y avoir les balises de chaîne pour vos textes comme:

<string name="help">Help</string> 
<string name="new_game">New game</string> 
+0

merci, les erreurs disparues, mais de nouveaux messages d'erreur sort, s'il vous plaît se référer à mon post édité – conmen

0

Il semble que vous n'avez pas ou avoir des erreurs dans le fichier strings.xml dans les chaînes et new_gamehelp

Questions connexes