2013-11-03 2 views
0

Я пытаюсь начать изучать канаты программирования приложений Android, поэтому я следую инструкциям для разработчиков Android. В настоящее время я работаю над разделом «Запуск другой деятельности» и внимательно следил за образцом, за исключением имени приложения. Когда я добавляю код класса для второго действия, которое вызывается при нажатии кнопки, я получаю следующую ошибку: Отсутствует заявка на пакет: «com.VRCoreSoftware.testapp4»Отсутствует заявка на пакет: «com.VRCoreSoftware.testapp4»

Все соответствующие фрагменты кода (как далеко как я знаю), приведены ниже:

Главная Activity.java: Единственная ошибка, показывающая здесь является то, что он не признает DisplayMessageActivity.class Намерение намерения = новый Intent (это, 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, что делает манифест неправильным. Переместите его в правильный пакет, и вы хорошо пойдете.

Смежные вопросы