Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检索android parse列并将其设置为array_Android_Parsing_Textview - Fatal编程技术网

检索android parse列并将其设置为array

检索android parse列并将其设置为array,android,parsing,textview,Android,Parsing,Textview,我在Parse中有一个名为Customer\u Information的表。还有一列名为username。我想检索username列中的所有值并将其存储到数组中。存储之后,我想将其设置为单个textview。这可能吗?我尝试过这段代码,但它有一个错误ArrayIndexOutOfBounds public class Users extends Activity{ private static final String tbname = "Customer_Information";

我在Parse中有一个名为Customer\u Information的表。还有一列名为username。我想检索username列中的所有值并将其存储到数组中。存储之后,我想将其设置为单个textview。这可能吗?我尝试过这段代码,但它有一个错误ArrayIndexOutOfBounds

public class Users extends Activity{

    private static final String tbname = "Customer_Information";
    private static final String uname = "username";

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

    TextView text = (TextView)findViewById(R.id.text);

    ParseQuery query = new ParseQuery(tbname);{

    try{
            List<ParseObject> test = query.find();
            for(int x=0;x<test.size();x++){
            String[] str = {test.get(x).getString(uname)};
            text.setText("Username: "+str[x]+"\n");
            }
    }
    catch (com.parse.ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();

    }
}
}
}
公共类用户扩展活动{
私有静态最终字符串tbname=“客户信息”;
私有静态最终字符串uname=“username”;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.users);
TextView text=(TextView)findViewById(R.id.text);
ParseQuery查询=新的ParseQuery(tbname){
试一试{
List test=query.find();

对于(int x=0;x而言,这一行最有可能出现问题:

text.setText("Username: "+str[x]+"\n");
您正在尝试访问索引,但您正在使用
x
访问它。如果所有
ParseObject
返回一个长度相同的数组,过一段时间后,随着
x
的增加,它将变大,超过该数组的最大索引,从而导致
IndexOutOfBoundsException

我建议您首先进行一些测试:打印出
str
的值,找出您需要的索引,然后更改行,使其使用常量索引。基于这样一个事实,即自执行此操作以来,数组中只有1个元素

String[] str = {test.get(x).getString(uname)};//one element array
索引很可能是
0

text.setText("Username: "+str[0]+"\n");

如果您不打算使
str
大于1个元素,请放弃它,只使用一个
字符串

是的,很抱歉我的错误。但是我如何将uname列的值放入数组?我不知道如何将其放入数组字符串,这就是我尝试字符串[]str={test get(x)的原因.getString(uname)};@kdot您可能应该为此使用一个
列表
。只需在循环外部声明它,然后在
列表
中使用该字符串内部调用
add()
。这实际上取决于您想要做什么。