Нажмите кнопку, чтобы передать аргумент от фрагмента к другому фрагменту

Я пытаюсь сделать это, но ошибки.

Когда я нажимаю кнопку и она выполняет функцию » showData()» ;
Причина, по которой я хочу сделать эту функцию, потому что я хочу изменить фрагмент, когда
Я нажимаю эту кнопку, а также» передаю аргументы » новому фрагменту.
Так оно будет держать исполнить функцию » passData()»;

Но он получит NullPointerException после » editTextNAME.setText (ресторан.name); » эта строка.

showData()

    public void showData(View view){
    RestaurantRepo repo = new RestaurantRepo(this);
    ArrayList<HashMap<String, String>> restaurantList =  repo.getRestaurantList();
    if ( restaurantList.size()!=0 ) {
        ListView lv = (ListView) findViewById(R.id.list);
        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
                restaurantID = (TextView) view.findViewById(R.id.restaurantID);
                String idRestaurant = restaurantID.getText().toString();

                Bundle data = new Bundle();
                data.putString("restaurantID", idRestaurant); // argument

                Fragment fraUorD = null;
                fraUorD = new EditFragment_Fix_UorD();

                if ( null != fraUorD ) {
                    android.app.FragmentManager fragementManager = getFragmentManager();
                    android.app.FragmentTransaction transaction = fragementManager.beginTransaction();
                    transaction.replace(R.id.content_frame, fraUorD);
                    transaction.addToBackStack(null);
                    transaction.commit();
                    passData(data); // when transaction done , execute passData() -> i want to pass argument when the new fragment come out
                }

            }
        });

        ListAdapter adapter = new SimpleAdapter( MainActivity.this,restaurantList, R.layout.edit_fragment_fix_view,
                new String[] { "id","name","type","price","phone","addr"},
                new int[] {R.id.restaurantID, R.id.restaurantNAME,R.id.restaurantTYPE,
                        R.id.restaurantPRICE,R.id.restaurantPHONE,R.id.restaurantADDR});
        lv.setAdapter(adapter);
    }

    else
        Toast.makeText(this,"No restaurant!",Toast.LENGTH_SHORT).show(); // no data

passData()

   public void passData(Bundle data){

    int a = Integer.parseInt( data.getString("restaurantID", "")) ; // get it 

    Toast.makeText(this, ""+a,Toast.LENGTH_SHORT).show();

    editTextNAME = (EditText) findViewById(R.id.editTextUpdateName);
    editTextTYPE = (EditText) findViewById(R.id.editTextUpdateType);
    editTextPRICE = (EditText) findViewById(R.id.editTextUpdatePrice);
    editTextPHONE = (EditText) findViewById(R.id.editTextUpdatePhone);
    editTextADDR = (EditText) findViewById(R.id.editTextUpdateAddr);

    RestaurantRepo repo = new RestaurantRepo(this);
    Restaurant restaurant = new Restaurant();
    restaurant = repo.getRestaurantById(a);

    // Everything is ok, but when executing codes below here will get errors 
    // ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

    editTextNAME.setText(restaurant.name);
    editTextTYPE.setText(String.valueOf(restaurant.type));
    editTextPRICE.setText(String.valueOf(restaurant.price));
    editTextPHONE.setText(restaurant.phone);
    editTextADDR.setText(restaurant.addr);
}

Logcat здесь :

Ява.ленг.NullPointerException: попытка вызвать виртуальный метод ‘ void android.штучка.EditText.setText (java.ленг.CharSequence) ‘ для ссылки на нулевой объект
at com.образец.пользователь.foody.MainActivity$override.passData (MainActivity.java: 284)
at com.образец.пользователь.foody.MainActivity$override.доступ$dispatch (MainActivity.Ява)
at com.образец.пользователь.foody.MainActivity.passData (MainActivity.java:0)
at com.образец.пользователь.foody.MainActivity $ override.onItemClick (MainActivity.java: 244)
at com.образец.пользователь.foody.MainActivity $ override.доступ$dispatch (MainActivity.Ява)
at com.образец.пользователь.foody.MainActivity.onItemClick (MainActivity.java:0)

1 ответ