NullPointerException от getExtras ()

Я создаю намерение перенести данные из одного вида деятельности в другой, например:

Intent intent = new Intent(this, ActivityHighScore.class);
    intent.putExtra("USERNAME", username);
    intent.putExtra("PLAYERMOVES", playerMoves);

    this.startActivity(intent);

Затем я хочу проверить, существуют ли все эти данные при запуске операции, так как она может быть запущена из других источников без установки этих данных. Я использую это утверждение:

        Bundle bundle = getIntent().getExtras();

    if (!bundle.getString("USERNAME").equals(null) && bundle.getInt("PLAYERMOVES") != 0){
        String username = bundle.getString("USERNAME");
        int playerMoves = bundle.getInt("PLAYERMOVES");
        addHighScore(username, playerMoves);

    }   

Но это приводит к нулевому исключению, и я полностью уверен, как. Я думал, что справляюсь со Strings и .equals (), но думаю, что это ... Любая помощь будет принята с благодарностью. Благодарю.

Ответы на вопрос(3)

The method which you are doing is correct . The null pointer exception is coming because the fragment is not replaced with the right fragment object. Here is the working code Activity class

Bundle bundle = new Bundle();
bundle.putString("message", "helloo");
Home tm = new Home();
tm.setArguments(bundle);
fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frag,tm).commit();
getSupportActionBar().setTitle("Home");
item.setChecked(true);
drawerLayout.closeDrawers();

the code for receiving in fragment

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    String myValue = getArguments().getString("message");
    Toast.makeText(getActivity(), myValue, Toast.LENGTH_SHORT).show();
    myview = inflater.inflate(R.layout.fragment_home, container, false);
    return myview;
}

Дайте мне знать, если это поможет!

Ну, у меня была похожая проблема. В моем случаеNullPointerException произошло, когда я проверил, если мойbundle.getString() был равенnull.

Вот как я это решил, в моем случае:

Intent intent = getIntent();        
if(intent.hasExtra("nomeUsuario")){
    bd = getIntent().getExtras();
    if(!bd.getString("nomeUsuario").equals(null)){
        nomeUsuario = bd.getString("nomeUsuario");
    }
}
Решение Вопроса

замещать

Bundle bundle = getIntent().getExtras();

    if (!bundle.getString("USERNAME").equals(null) && bundle.getInt("PLAYERMOVES") != 0){
        String username = bundle.getString("USERNAME");
        int playerMoves = bundle.getInt("PLAYERMOVES");
        addHighScore(username, playerMoves);

    } 

с

 if (getIntent().getStringExtra("USERNAME") != null && (getIntent().getIntExtra("PLAYERMOVES", 0) != 0){
        String username = bundle.getString("USERNAME");
        int playerMoves = bundle.getInt("PLAYERMOVES");
        addHighScore(username, playerMoves);

  } 

Ваш ответ на вопрос