2013-09-29 20 views
5

我一直在努力讓這個工作,甚至完全按照教程所說的那樣複製和粘貼代碼,但它似乎不起作用。我知道問題出在MainActivity或DisplayMessageActivity上,但我看不出有什麼問題。我還在與MainActivity相同的文件夾中安裝了DisplayMessageActivity。Android的第一個應用教程問題

我收到以下錯誤。

DisplayMessageActivity 
Gradle: error: cannot find symbol class SuppressLint 
Gradle: error: package R does not exist 
Gradle: error: cannot find symbol variable NavUtils 

MainActivity 
Gradle: error: cannot find symbol class DisplayMessageActivity 

我一直在擺弄這一段時間,無法弄清楚我做錯了什麼。任何幫助深表感謝。

我有什麼,

AndroidManifest.xml中

~snip~ 
     <activity 
     android:name="com.example.myfirstapp.DisplayMessageActivity" 
     android:label="@string/title_activity_display_message" 
     android:parentActivityName="com.example.myfirstapp.MainActivity" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.myfirstapp.MainActivity" /> 
    </activity> 
~snip~ 

DisplayMessageActivity

import android.app.Activity; 
import android.os.Build; 
import android.os.Bundle; 
import android.view.MenuItem; 



public class DisplayMessageActivity extends Activity { 

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

     // 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); 
     } 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       NavUtils.navigateUpFromSameTask(this); 
       return true; 
     } 
     return super.onOptionsItemSelected(item); 
    } 
} 

MainActivity

package com.example.myfirstapp; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.View; 
import android.widget.EditText; 

public class MainActivity extends Activity { 
    public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 


    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
    public void sendMessage(View view) { 
     Intent intent = new Intent(this, DisplayMessageActivity.class); 
     EditText editText = (EditText) findViewById(R.id.edit_message); 
     String message = editText.getText().toString(); 
     intent.putExtra(EXTRA_MESSAGE, message); 
     startActivity(intent); 
    } 

} 

UPDATE

Juned和Peter是正確的。它不能馬上工作的唯一原因是因爲我弄亂了其他東西。多謝你們!

+0

做'Ctrl' +'Shift' +'O'先安排你的進口。 –

+0

我有同樣的問題,但我似乎無法找到這個'build.gradle'文件,我正在使用IntelliJ IDEA 13.1.1 – Baig

回答

2

昨天我有同樣的問題(: 您需要添加到您的importsDisplayMessageActivity

import android.annotation.SuppressLint; 
import android.support.v4.app.NavUtils; 

此外,您還需要添加到您的build.gradle文件dependencies部分:

compile 'com.android.support:support-v4:18.0.+' 

關於支持您可以紅色的庫here

+0

工作,謝謝!現在我唯一的問題是 搖籃:錯誤:無法找到符號類DisplayMessageActivity 這是在正確的文件夾,是一類和拼寫正確。出於某種原因,它沒有被承認。它的表現就像它不在清單中,但它是? – user2827799

+0

你使用什麼IDE?我遇到了Android Studio的問題,它通過重新啓動IDE解決。 Android Studio尚不穩定。此外,顯示您的完整清單文件。 –

+0

我有同樣的問題,但我似乎無法找到這個'build.gradle'文件,我正在使用IntelliJ IDEA 13.1.1 – Baig

1

我在DisplayMessageActivity類中看不到SuppressLint的導入。添加正確的導入。

也不是SuppressLint註解在API級別16中添加。確保您使用構建SDK到16或更高版本。

+0

我正在使用生成SDK 17+。 SupressLint的進口確實讓這個錯誤消失了! 我還是得到了;軟件包R不存在,找不到符號變量NavUtils,並且找不到符號類DisplayMessageActivity(來自MainActivity)。 我試着在做這個主題之前使用谷歌搜索這個東西,但找不到任何適合我的東西。 – user2827799

1

最後一部分o如果你的問題是你沒有'package com.example.firstapp;'在DisplayMessageActivity.java的頂部。

1

至於Android的第一個應用程序documentiaont他們已經明確提到如下。附近的***

Build an Intent topic , Step 1


Note: The reference to DisplayMessageActivity will raise an error if you’re using an IDE such as Android Studio because the class doesn’t exist yet. Ignore the error for now; you’ll create the class soon.

因此,請注意,如果你更多的文檔中向下滾動,你可以找到主題創建第二個活動,創造新的DisplayMessageActivity。

Android First App Tutorial By Google

-1

添加到您的activity_display_message.xml

android:id="@+id/activity_display_message">