0

Customer_Information という名前のテーブルが Parse にあります。また、ユーザー名という名前の列があります。ユーザー名列のすべての値を取得し、配列に格納したいと考えています。保存後、単一のテキストビューに設定したい。これは可能ですか?このコードを試してみましたが、エラー 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();

    }
}
}
}
4

1 に答える 1

0

問題は、次の行にある可能性が最も高いです。

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

インデックスにアクセスしようとしていますが、x. すべてのs が同じ長さParseObjectの配列を返す場合、しばらくすると、増加するにつれて、その配列の最大インデックスよりも大きくなり、.xIndexOutOfBoundsException

最初にテストを行うことをお勧めstrます。配列に要素が1つしかないという事実に基づいて

String[] str = {test.get(x).getString(uname)};//one element array

インデックスは最も可能性が高い0です:

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

1 つ以上の要素を作成しない場合はstr、破棄して単一のString.

于 2013-03-13T17:02:14.090 に答える