2013-11-03 71 views
0

我想要開始學習編程Android應用程序的繩索,所以我遵循Android開發者教程。我目前正在研究「開始另一項活動」部分,並且完全按照示例進行了操作,但應用程序名稱除外。當我點擊一個按鈕時添加要調用的第二個活動的類代碼時,出現以下錯誤:Missing package statement:'com.VRCoreSoftware.testapp4'缺少包聲明:'com.VRCoreSoftware.testapp4'

所有相關的代碼段我所知的),如下所示:

主要Activity.java: 顯示這裏唯一的錯誤是,它不承認DisplayMessageActivity.class 意向意圖=新意圖(這一點,DisplayMessageActivity.class);

package com.VRCoreSoftware.testapp4; 

import android.support.v7.app.ActionBarActivity; 
import android.support.v7.app.ActionBar; 
import android.support.v4.app.Fragment; 
import android.os.Bundle; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.view.ViewGroup; 
import android.os.Build; 
// import android.view.View; 
import android.content.Intent; 
import android.widget.EditText; 

public class MainActivity extends ActionBarActivity { 

public final static String EXTRA_MESSAGE = "com.VRCoreSoftware.testapp4.MESSAGE"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    if (savedInstanceState == null) { 
     getSupportFragmentManager().beginTransaction() 
       .add(R.id.container, new PlaceholderFragment()) 
       .commit(); 
    } 
} 


@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; 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle action bar item clicks here. The action bar will 
    // automatically handle clicks on the Home/Up button, so long 
    // as you specify a parent activity in AndroidManifest.xml. 
    switch (item.getItemId()) { 
     case R.id.action_settings: 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

/** 
* A placeholder fragment containing a simple view. 
*/ 
public static class PlaceholderFragment extends Fragment { 

    public PlaceholderFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
      Bundle savedInstanceState) { 
     View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
     return rootView; 
    } 
} 

public void sendMessage(View view) { 
    // Do something in response to button 
    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); 
} 

} 

DisplayMessageActivity.java 有很多錯誤,與源(我假設)是明顯失敗的導入。

import com.VRCoreSoftware.testapp4.MainActivity; 

public class DisplayMessageActivity extends MainActivity { 

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

    Intent intent = getIntent(); 
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE); 

    // Create the text view 
    TextView textView = new TextView(this); 
    textView.setTextSize(40); 
    textView.setText(message); 

    // Set the text view as the activity layout 
    setContentView(textView); 
} 

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

從AndroidManifest.xml文件: 這裏唯一的錯誤是,它並沒有在該行承認 'DisplayMessageActivity': 機器人:名字= 「com.VRCoreSoftware.testapp4.DisplayMessageActivity」

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

我目前使用Android Studio編寫和編譯此代碼。 我將不勝感激在這個問題上的任何和所有幫助。 非常感謝。

回答

0

看起來DisplayMessageActivity與MainActivity不在同一個包中,這也意味着它不在com.VRCoreSoftware.testapp4中,從而導致顯示錯誤。把它移到正確的包裝上,你很好走。