2015-11-03 88 views
0

IMPOSIBLE訪問在OnCreate中我把這個片段:機器人負載片段做的ImageView

if(internet == true){ 
     Fragment fragment = null; 
     fragment = new PasarProjectos(); 

     /*if(esLandscape == true){ 
      contenedor_salvado = findViewById(R.id.contenedor_info); 
     }*/ 

     if (fragment != null) { 

      FragmentManager fm = getSupportFragmentManager(); 
      Bundle args = new Bundle(); 
      args.putBoolean("esLandscape", esLandscape); 
      fragment.setArguments(args); 
      fm.beginTransaction().add(R.id.container, fragment).commit(); 

     } 
     findViewById(R.id.imageView17).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       startActivity(new Intent(PasarProjNoMenu.this, InicioNoLogin.class)); 
      } 
     }); 
    }else{ 
     startActivity(new Intent(PasarProjNoMenu.this, InicioNoLogin.class)); 
    } 

和完成的的onCreate

的方法後來我打電話,我嘗試本地化另一種觀點的另一種方法

public void ensenarProjMismaPantalla(String id_s) { //un inflate rellenando los datos y punto 

    Log.d("La acción ","rellenar campo primero"); 

    ImageView imageView = (ImageView) findViewById(R.id.fotoProj); 

} 

我知道的imageview是連續的; y在屏幕上,因爲我可以在應用程序運行時看到它,但該應用程序會拋出nullpointerexception錯誤

+0

請寫在那裏你調用這個方法:'ensenarProjMismaPantalla()' – walkmn

+0

進入片段「PasarProjectos.java」 –

+0

我離開的代碼放到一個答案 –

回答

0

解決,進入分片我所說的方法是這樣的:

((PasarProjNoMenu)context).ensenarProjMismaPantalla(int_parameter); 

的問題是,當我嘗試調用同一個類的2倍,在相同的活動。

Thx爲您的時間。

0

我打電話從片段中的主要活動,我知道我可以

public void anadirFragmentConDatos(
     final String id_s, String nombre_s, String ticket_s, String porfinanciar_s, String imagen_s, final int pos){ 
    //generamos el inflater para poder añadir el hijo 
    LinearLayout parent = (LinearLayout) view.findViewById(R.id.ListadoPrj); 
    LayoutInflater layoutInflater = (LayoutInflater) getActivity().getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    final View addView = layoutInflater.inflate(R.layout.fragment_pre_project, null); 

    addView.setId(Integer.parseInt(id_s)); 

    addView.setOnTouchListener(
      new View.OnTouchListener() { 
       @Override 
       public boolean onTouch(View v, MotionEvent event) { 
        if (esLandscape == false) { 
         switch (event.getAction() & MotionEvent.ACTION_MASK) { 
          case MotionEvent.ACTION_UP: 
           //Toast.makeText(getActivity(),"Me ha pulsado",Toast.LENGTH_SHORT).show(); 
           SociosInversores si = new SociosInversores(); 

           String Uid = si.Uid; 

           Intent intent = new Intent(getActivity(), ProjectFullScreen.class); 
           Bundle bundle = new Bundle(); 

           bundle.putString("Uid", Uid); 
           bundle.putString("Pid", id_s); 

           intent.putExtras(bundle); 

           startActivity(intent); 

         } 
        }else{ 
         switch (event.getAction() & MotionEvent.ACTION_MASK) { 
          case MotionEvent.ACTION_UP: 
           //cargar en el lateral 
           PasarProjNoMenu ppnm = new PasarProjNoMenu(); 
           ppnm.ensenarProjMismaPantalla(id_s); 

         } 
        } 


        return true; 
       } 
      } 
    ); 

    //añadimos el view 
    parent.addView(addView); /*the rest of the method*/} 

我正確地聲明類,我想。