Parse.com检索数据方法

时间:2015-06-18 01:19:15

标签: java android

我正在尝试将以下代码(代码从云中提取)转换为方法。

ParseQuery<ParseObject> query = ParseQuery.getQuery("Parse name");
    query.getInBackground("asdlasdKSas2", new GetCallback<ParseObject>() {
        public void done(ParseObject object, ParseException e) {
            if (e == null) {
                //Cost
                shirtCost = (TextView)findViewById(R.id.cost1);
                int s1 = object.getInt("cost");
                shirtCost.setText(s1);
                //Name
                shirt = (TextView)findViewById(R.id.snack1);
                String s2 = object.getString("item");
                shirt.setText(s2);
                //Desc
                shirtdesc = (TextView)findViewById(R.id.snack1description);
                String s3 = object.getString("description");
                shirtdesc.setText(s3);

            } else {
                // something went wrong
            }
        }
    });

shirtCost,shirt,&amp; shirtDesc都是TextViews。 我希望能够召唤一个功能女巫将替换衬衫,衬衫和衬衫成本与我所说的periciters。这是我试图做的事情(没有工作):

public void setData(String key, String classname, TextView main, TextView cost, TextView desc, <a way to put an android id in replace of the findViewByID()>){
    ParseQuery<ParseObject> query = ParseQuery.getQuery(classname);
    query.getInBackground(key, new GetCallback<ParseObject>() {
        public void done(ParseObject object, ParseException e) {
            if (e == null) {
                //Cost
                cost = (TextView)findViewById(R.id.<?>);
                int s1 = object.getInt("cost");
                cost.setText(s1);
                //Name
                main = (TextView)findViewById(R.id.snack1);
                String s2 = object.getString("item");
                main.setText(s2);
                //Desc
                desc = (TextView)findViewById(R.id. <?>);
                String s3 = object.getString("description");
                desc.setText(s3);

            } else {
                // something went wrong
            }
        }
    });
}

任何建议都会令人惊讶。解决方案会更好。希望我深入了解你的理解。谢谢!

所以解释一下。总之,这是我不明白的。看看这个方法:

public void example(TextView cost, <permeter idk how to pass. keep reading>) {
                cost = (TextView)findViewByID(HOW DO I GET THIS ID THROGUH PERIMETER??);}

我需要通过参数传递ID,但绝对不知道。

1 个答案:

答案 0 :(得分:0)

如果您要在第二段代码中替换shirtCostshirtshirtdesc中的值,则必须使用与第一段代码相同的EditText之一。

你说:

  

我希望能够召唤一个函数女巫将替换衬衫,衬衫,衬衫和我所穿的periciters。

因此,您必须分别对第一段代码中使用的每个变量使用相同的EditText。所以,在你的第二段代码中,你对findViewById函数的使用必须是这样的:

cost = (TextView)findViewById(R.id.cost1);
main = (TextView)findViewById(R.id.snack1);
desc = (TextView)findViewById(R.id.snack1description);

你必须为每个变量使用相同的EditText,因为你想要替换它,所以,当你再次为他们设置另一个文本时,你在EditText之前模糊地设置了什么文本,文本是之前设置将被您正在设置的第二个替换。

所以,如果你有:

shirtCost.setText("This is an example");
shirtCost.getText(); //The value will be --> "This is an example"
shirtCost.setText("This text replace the first one");
shirtCost.getText(); //The value will be --> "This text replace the first one"

我希望它会对你有所帮助!