2013-07-15 2 views
-1

질문이 있습니다. 다른 메서드의 메서드에서 인스턴스화 된 내부 클래스 변수를 사용할 수 있습니까?내 메서드에서 내부 클래스 변수를 사용할 수 있습니까?

public void onItemClick(AdapterView<?> a, android.view.View v, int position, long id) { 
      // TODO Auto-generated method stub 
      int diffInDays=0; 
      Object o = lv1.getItemAtPosition(position); 
      Masina m = (Masina) o; 
      Toast.makeText(MainActivity.this, "Selected :" + " " + m, Toast.LENGTH_LONG).show(); 
      String data=((Masina) image_details.get(position)).getData_fabr(); 
      Calendar c=Calendar.getInstance(); 
      SimpleDateFormat df=new SimpleDateFormat("dd/MM/yyyy"); 
      String currData=df.format(c.getTime()); 

      try { 

       Date obj=df.parse(data); 
       Date obj2=df.parse(currData); 
       diffInDays = (int) ((obj2.getTime() - obj.getTime())/ (1000 * 60 * 60 * 24)); 

      } catch (ParseException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

      int years=diffInDays/365; 
      int days=diffInDays%365; 
      poz=position; 

      mar=((Masina) image_details.get(poz)).getMarca(); 
      mod=((Masina) image_details.get(poz)).getModel(); 
      nr=((Masina) image_details.get(poz)).getNr_inm(); 
      date=((Masina) image_details.get(poz)).getData_fabr(); 

      afisare.setText("Numar inmatriculare: "+((Masina) image_details.get(position)).getNr_inm()); 
      afisare.append("\nVarsta masina: "+years+" ani "+days+" zile"); 

     } 
    }); 


} 

public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 

    super.onCreateContextMenu(menu, v, menuInfo); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.context_menu, menu); 

} 

public boolean onContextItemSelected(MenuItem item) { 

    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

    switch(item.getItemId()) { 

    case R.id.edit: 

     Toast.makeText(this, "Ai ales: " + getResources().getString(R.string.Editeaza), Toast.LENGTH_SHORT).show(); 
      Intent startNewAct=new Intent(MainActivity.this, EditActivity.class); 
      startNewAct.putExtra("marca",mar); 
      startNewAct.putExtra("model",mod); 
      startNewAct.putExtra("Nr.inm",nr); 
      startNewAct.putExtra("Data",date); 
      startActivityForResult(startNewAct,0); 


      return true; 

나는 onContextItemSelected 메서드에서 vb_mar를 사용하려고합니다. 누군가 도와주세요. 고맙습니다.

+0

사용해 보셨습니까? – bogdan

+0

나는 그것을 사용하려고했으나 NULL이다 : ( –

+0

) 그래서 onItemClick 메서드가 호출되었고, mar가 초기화되었고 이후에 onContextItemSelected 메서드에서 사용할 때 null이된다. – bogdan

답변

0

U는 메소드에서 public static으로 vb mar을 초기화 할 수 있습니다.

+0

작동하지 않습니다 –

+0

문제가 해결되었습니다 ... 긴 클릭으로 동작하지 않아서 초기화되지 않았습니다. –

관련 문제