0

我正在尝试在我的程序中创建另一个类的对象列表。我希望能够访问列表中的特定对象,然后使用该对象从类中获取数据。这是我从中创建对象的类:

public class objectdata extends Activity {

    int number=0;
    String word="";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
    }


    public objectdata(int num, String word){

        number = num;
        word = word;

    }
}

这是将对象添加到列表中以及我希望访问对象的类:

public class MainActivity extends Activity {



    TextView tv;
    ArrayList<Object> objarray = new ArrayList<Object>(2);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        makeObjects();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


    public void makeObjects(){

        //For loop creates two objects and adds them to the list
        for(int i = 0; i < 3; i++) {

            int number=1;
            String word="One";
            number++;

            objectdata o = new objectdata(number, word);
            objarray.add(o);
        }


        //THIS IS WRONG!
        //Access the second object in the list, so as to access the value in number
        objectdata o = objarray.get(1);
        tv.setText(o.number.toString());


    }

}

在底部是我尝试访问索引 1 中的对象,所以创建的第二个对象,我想通过使用该对象从类中获取数字值并将其存储在文本视图中,以便我可以看到它有效. 基本上我正在尝试使用对象来存储数据,然后将这些对象存储在数组列表中。我完全被困在这一点上。

4

1 回答 1

1

由于您想在 中存储您自己的类的对象,请ArrayList更改以下声明

ArrayList<Object> objarray = new ArrayList<Object>(2);

ArrayList<objectdata> objarray = new ArrayList<objectdata>(2);

然后你的代码应该可以工作。顺便说一句,objectdata对于一个类来说,这不是一个好名字,根据命名约定,一个好的名字应该以大写字母开头并使用驼峰式:ObjectData。希望这可以帮助。

于 2013-03-13T07:32:52.097 回答