как начать новую деятельность с одного пункта меню - PullRequest
0 голосов
/ 15 ноября 2011

Привет! Я пытаюсь открыть новый вид деятельности (GPSWptsEdit.class) с помощью одной опции меню (R.id.waypointEditId), но мне не очень повезло с кодом. Каждый раз, когда я запускаю GPSTrialActivity в режиме отладки в eclipse и нажимаю на опцию меню, я получаю всплывающее окно в eclispe, называемое «Подтвердить переключение перспективы», когда я нажимаю да, на вкладке инструментария по умолчанию появляется «Источник не найден - файл JAR C : \ Program Files (x86) \ Android \ android-sdk \ platfoms \ android-8 \ android.jar не имеет прикрепленного источника.

Если бы кто-то мог помочь с некоторыми предложениями, это было бы очень оценено. Вот код, с которым я играл:

@Override
public boolean onCreateOptionsMenu(Menu menu){
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu, menu);
    return true;
}
public boolean onOptionsItemSelected(MenuItem item){
    switch (item.getItemId()){
    case R.id.waypointEditId:
        waypointEdit();
        return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}
public void waypointEdit(){
     startActivity(new Intent(GPSTrialActivity.this, GPSWptsEdit.class));
}

}

Ответы [ 4 ]

0 голосов
/ 16 ноября 2011

Я решил проблему, прочитав предоставленные комментарии.Оказывается, я забыл изменить это:

setContentView(R.layout.wptedit);
0 голосов
/ 15 ноября 2011

Я использовал то же самое в своем проекте, и он работал хорошо.

я использовал:

@Override
public boolean onCreateOptionsMenu(Menu menu) {

        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.custom_menu, menu);
        return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {

         case R.id.add_new:
                        openDialog();
                        return true;

         case R.id.delete_all:
                          // some code
                          return true;
         default:
                          return super.onOptionsItemSelected(item);
    }
}

public void openDialog() 
{
        Intent intent=new Intent(ThisActivity.this,NewActivity.class);          
        startActivity(intent);
        finish();               
}   

Какую проблему вы получаете?

0 голосов
/ 15 ноября 2011

добавить активность GPSWptsEdit в menifest.

0 голосов
/ 15 ноября 2011

Возможно, проблема в том, что вам не хватает break в конструкции корпуса коммутатора; попробуйте с этим кодом

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

public boolean onOptionsItemSelected(MenuItem item){
    switch (item.getItemId()){
    case R.id.waypointEditId:
        waypointEdit();
        break;
    default:
        return super.onOptionsItemSelected(item);
        break;
    }
}

public void waypointEdit(){
    Intent i = new Intent(GPSTrialActivity.this, GPSWptsEdit.class);
    startActivity(i);
    }
}

Но не могли бы вы сказать, в чем проблема? Какие ошибки вы получаете? Что говорит logcat?

...