2014-04-13 3 views
0

클래스가 있고이를 인스턴스화하여 해당 setter 및 getter 메서드를 사용하려고합니다. 그러나 몇 가지 이유 때문에 다른 외부 클래스에서 값을 설정할 수 없습니다. 여기클래스 인스턴스화가 작동하지 않습니다.

public class Fila { 

    int icon; 
    String name; 



    public int getIcon() { 
     return icon; 
    } 

    public void setIcon(int icon) { 
     this.icon = icon; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

, 나는이 클래스에 값을 설정하려고 : 여기

는 기본 클래스 Fila.java입니다

public class agregar extends Activity implements OnItemClickListener{ 

    ListView lview3; 
    MyAdapter adapter; 
    private ArrayList<Object> itemList; 
    private Fila fila; 
    SharedPreferences settings; 
    public static final String PREFS_NAME = "MyPrefsFile"; 
    int img_ah; 
    String nom_ah; 




    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     this.setContentView(R.layout.principal); 

     settings = getSharedPreferences(this.PREFS_NAME, 0); 
     SharedPreferences.Editor editor = settings.edit(); 

     editor.putBoolean("hasLoggedIn", false); 
     editor.commit(); 

     img_ah = settings.getInt("icono",0); 
     nom_ah = settings.getString("nombre",null); 

     prepareArrayLits(); 
     lview3 = (ListView) findViewById(R.id.lista); 
     adapter = new MyAdapter(this, itemList); 
     lview3.setAdapter(adapter); 
     lview3.setOnItemClickListener(this); 


    } 

    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) { 
     // TODO Auto-generated method stub 
     Fila bean = (Fila) adapter.getItem(position); 

    } 


    public void prepareArrayLits() 
    { 
     itemList = new ArrayList<Object>(); 
     AddObjectToList(img_ah, nom_ah); 

    } 


    public void AddObjectToList(int imagen, String nombre) 
    { 


     fila = new Fila(); 
     fila.setIcon(imagen); 
     fila.setName(nombre); 
     itemList.add(fila); 
    } 
} 

내가 싶어 때 아무것도 표시되지 않습니다 값.

도움 주셔서 감사합니다.

+3

정확하게 ?? 작동하지 않습니다 무엇을 원하는 액세스 제한에 따라

protected int icon; protected String name; 

private int icon; private String name; 

또는

. –

+1

itemList가 비어 있다는 뜻입니까? 뭐?? –

+0

안녕하세요, 작동하지 않는 것은 fila.setIcon (imagen) 메소드입니다. getIcon 메서드를 호출하면 setIcon이 작동하지 않기 때문에 비어 있습니다. – user1732781

답변

1

당신도 할 수있는 클래스를 인스턴스화 할 때와 같은 글로벌 개인 등

private Fila fila = new Fila(); 

로 다음 방법

public void foo() { 
    fila.setIcon(icon); 
    fila.getIcon(); 
} 

에 그 inscance를 사용하거나하는 방법/또는 생성자

에서 인스턴스화 할
public void foo() { 
    Fila fila = new Fila(); 

    fila.setIcon(icon); 
    fila.getIcon(); 
} 

필드 변수가있는 경우 옆에 액세스 수정자를 넣으십시오. 당신이이 분야

+1

이것이 어떻게 질문과 관련되는지 보지 못합니다 ... –

+0

Humm ... 코드가 모두 있습니다. 당신이 쓴 제안이지만 작동하지 않습니다. – user1732781

관련 문제