2013-11-04 69 views
0

我正在嘗試運行其中一個示例程序,其中介紹了菜單及其工作方式。但是每當我嘗試編譯並運行示例時,我都會在標題中看到錯誤,並且無法查看是否有任何菜單選項正在工作。Android:不幸_____已停止

大概這麼簡單的東西,但我厭倦和沮喪在這一點:(

package com.example.context_menu_demo; 

import android.os.Bundle; 
import android.app.Activity; 
import android.graphics.Color; 
import android.view.ContextMenu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ContextMenu.ContextMenuInfo; 
import android.widget.Button; 
import android.widget.RelativeLayout; 

public class MainActivity extends Activity { 

Button m_button; 
RelativeLayout ourlayout; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ourlayout = (RelativeLayout) findViewById(R.id.layout_id); 
    m_button = (Button) findViewById(R.id.menu_but); 
    registerForContextMenu(m_button); 
} 

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, 
    ContextMenuInfo menuInfo) { 
    // TODO Auto-generated method stub 
    super.onCreateContextMenu(menu, v, menuInfo); 
    getMenuInflater().inflate(R.menu.menu, menu); 
    menu.setHeaderTitle("Context Menu"); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    // TODO Auto-generated method stub 
    switch (item.getItemId()) { 
    case R.id.red: 
    ourlayout.setBackgroundColor(Color.RED); 
    break; 

    case R.id.green: 
    ourlayout.setBackgroundColor(Color.GREEN); 
    break; 
    case R.id.blue: 
    ourlayout.setBackgroundColor(Color.BLUE); 

    break; 
    case R.id.gray: 
    ourlayout.setBackgroundColor(Color.GRAY); 
    break; 
    case R.id.cyan: 
    ourlayout.setBackgroundColor(Color.CYAN); 
    break; 
    case R.id.yellow: 
    ourlayout.setBackgroundColor(Color.YELLOW); 
    break; 

    } 
    return super.onOptionsItemSelected(item); 
} 
} 

個XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/layout_id"> 

    <Button 
     android:id="@+id/menu_but" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="94dp" 
     android:text="Menu" /> 


    <item android:id="@+id/red" android:title="RED"></item> 
    <item android:id="@+id/green" android:title="GREEN"></item> 
    <item android:id="@+id/blue" android:title="BLUE"></item> 
    <item android:id="@+id/gray" android:title="GRAY"></item> 
    <item android:id="@+id/cyan" android:title="CYAN"></item> 
    <item android:id="@+id/yellow" android:title="YELLOW"></item> 

</RelativeLayout> 

個XML

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/red" android:title="RED"></item> 
    <item android:id="@+id/green" android:title="GREEN"></item> 
    <item android:id="@+id/blue" android:title="BLUE"></item> 
    <item android:id="@+id/gray" android:title="GRAY"></item> 
    <item android:id="@+id/cyan" android:title="CYAN"></item> 
    <item android:id="@+id/yellow" android:title="YELLOW"></item> 
</menu> 

清單

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.context_menu_demo" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.context_menu_demo.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+0

您能向我們展示您的logcat錯誤嗎 – Gunaseelan

+0

刪除佈局xml中的菜單項 – Raghunandan

+0

>:| oops errghh – Learning2Code

回答

3

因爲這些行你的RelativeLayout內你得到exception..Remove此行的......這些線我認爲你會得到InflaterException

<item android:id="@+id/red" android:title="RED"></item> 
<item android:id="@+id/green" android:title="GREEN"></item> 
<item android:id="@+id/blue" android:title="BLUE"></item> 
<item android:id="@+id/gray" android:title="GRAY"></item> 
<item android:id="@+id/cyan" android:title="CYAN"></item> 
<item android:id="@+id/yellow" android:title="YELLOW"></item> 

bacause ..

+0

-_______-你是認真的。我有什麼問題:|謝謝 – Learning2Code

+0

佈局文件沒有標籤多數民衆贊成在錯誤的代碼.. –

1

你不能有您的活動佈局中的商品代碼<item ... ></item>