Java 类实例化不起作用

Java 类实例化不起作用,java,android,Java,Android,我有一个类,我想实例化它以使用它的setter和getter方法。但由于某些原因,我无法从其他外部类设置值 下面是基类Fila.java: public class Fila { int icon; String name; public int getIcon() { return icon; } public void setIcon(int icon) { this.icon = icon; }

我有一个类,我想实例化它以使用它的setter和getter方法。但由于某些原因,我无法从其他外部类设置值

下面是基类Fila.java:

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;
    }
}
在这里,我尝试设置此类的值:

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);
    }
}
public类agregar扩展活动实现了mclicklinklistener{
ListView lview3;
MyAdapter适配器;
私有arraylistitemlist;
私人菲拉菲拉;
共享引用设置;
公共静态最终字符串PREFS\u NAME=“MyPrefsFile”;
国际货币基金组织;
串名;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
this.setContentView(R.layout.principal);
设置=GetSharedReferences(this.PREFS_名称,0);
SharedReferences.Editor=settings.edit();
编辑器.putBoolean(“hasLoggedIn”,false);
commit();
img_ah=settings.getInt(“icono”,0);
nom_ah=settings.getString(“nombre”,null);
制备耳石();
lview3=(ListView)findViewById(R.id.lista);
adapter=新的MyAdapter(此,itemList);
lview3.setAdapter(适配器);
lview3.setOnItemClickListener(此);
}
@凌驾
public void onItemClick(AdapterView arg0、视图arg1、整型位置、长id){
//TODO自动生成的方法存根
filabean=(Fila)adapter.getItem(位置);
}
公共图书馆
{
itemList=新的ArrayList();
AddObjectToList(img_-ah,nom_-ah);
}
public void AddObjectToList(int-imagen,字符串名称)
{
fila=新fila();
fila.setIcon(imagen);
fila.setName(nombre);
项目列表。添加(fila);
}
}
当我想得到这个值时,什么也看不出来


感谢您的帮助。

当您将类实例化为全局私有类时,例如

private Fila fila = new Fila();
然后在一个方法中使用该障碍

public void foo() {
   fila.setIcon(icon);
   fila.getIcon();
}
或者在方法或构造函数中进行实例化

public void foo() {
   Fila fila = new Fila();

   fila.setIcon(icon);
   fila.getIcon();
}
此外,当您有字段变量时,请在其旁边放置一个访问修饰符

private int icon;
private String name;


取决于您希望对这些字段设置的访问限制,以及哪些字段不起作用???您的意思是itemList为空?什么??嗨,不起作用的是fila.setIcon(imagen)方法。当我调用getIcon方法时,该方法为空,因为setIcon不工作。已解决!问题不是调用的类,而是数组itemList=newarraylist();它必须是一个Fila数组,而不是一个对象数组。我想真正的问题是,当向列表中添加内容时,没有任何东西会导致GUI重新呈现列表的内容。(你也有很多风格上的问题,但它们不是你必须解决的关键问题。)我不明白这与这个问题有什么关系……哼。。。代码包含了您编写的所有建议,但不起作用。
protected int icon;
protected String name;