Parse platform 解析搜索特定用户

Parse platform 解析搜索特定用户,parse-platform,android-parsequeryadapter,Parse Platform,Android Parsequeryadapter,我找到了使用Parse搜索特定用户的代码。但是当我运行代码时,它崩溃了 代码有什么问题 以下是代码的链接 这是密码 package com.twaa9l.isnap; 导入java.util.List; 导入android.app.AlertDialog; 导入android.app.ListActivity; 导入android.os.Bundle; 导入android.support.v4.app.NavUtils; 导入android.util.Log; 导入android.view.M

我找到了使用Parse搜索特定用户的代码。但是当我运行代码时,它崩溃了

代码有什么问题

以下是代码的链接

这是密码

package com.twaa9l.isnap;
导入java.util.List;
导入android.app.AlertDialog;
导入android.app.ListActivity;
导入android.os.Bundle;
导入android.support.v4.app.NavUtils;
导入android.util.Log;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.Window;
导入android.widget.ArrayAdapter;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.ListView;
导入com.parse.FindCallback;
导入com.parse.ParseException;
导入com.parse.ParseQuery;
导入com.parse.ParseRelation;
导入com.parse.ParseUser;
导入com.parse.SaveCallback;
公共类EditFriendsActivity扩展了ListActivity{
public static final String TAG=EditFriendsActivity.class.getSimpleName();
受保护名单;
受保护的解析关系mFriendsRelation;
受保护的用户mCurrentUser;
受保护的文本sUsername;
受保护按钮mSearchButton;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE\u不确定\u进度);
setContentView(R.layout.activity\u edit\u friends);
//在操作栏中显示“向上”按钮。
setupActionBar();
getListView().setChoiceMode(ListView.CHOICE\u MODE\u MULTIPLE);
}
@凌驾
受保护的void onResume(){
super.onResume();
mCurrentUser=ParseUser.getCurrentUser();
mFriendsRelation=mCurrentUser.getRelation(ParseConstants.KEY\u FRIENDS\u RELATION);
sUsername=(EditText)findViewById(R.id.searchFriend);
mSearchButton=(按钮)findViewById(R.id.searchButton);
///////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////按用户名搜索用户的新代码///////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
mSearchButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
//从寄存器中的每个字段获取文本
字符串username=sUsername.getText().toString();
//字符串密码=mPassword.getText().toString();
///删除任何字段中的空白
///确保它们不是空的
username=username.trim();
//password=password.trim();
//检查字段是否不为空
if(username.isEmpty()){
AlertDialog.Builder=新建AlertDialog.Builder(EditFriendsActivity.this);
builder.setMessage(R.string.login\u错误消息)
.setTitle(R.string.login\u error\u title)
.setPositiveButton(android.R.string.ok,null);
AlertDialog=builder.create();
dialog.show();
}
否则{
//登录用户
SetProgressBarInDeterminateVibility(真);
ParseQuery=ParseUser.getQuery();
查询。whereEqualTo(“用户名”,用户名);
query.orderByAscending(ParseConstants.KEY\u用户名);
查询设置限制(200);
findInBackground(新的FindCallback(){
@凌驾
public void done(列出用户,parsee异常){
SetProgressBarInDeterminateVibility(假);
如果(e==null){
//成功我们有用户展示
//让用户匹配我们
缪斯=用户;
//在数组中存储用户
字符串[]用户名=新字符串[mUsers.size()];
//循环用户
int i=0;
用于(用户:缪斯){
usernames[i]=user.getUsername();
i++;
}
ArrayAdapter适配器=新的ArrayAdapter(
EditFriendsActivity.this,
android.R.layout.simple\u list\u item\u选中,
用户名
);
setListAdapter(适配器);
addFriendCheckmarks();
}
否则{
//没有要显示的用户
Log.e(标记,e.getMessage());
AlertDialog.Builder=新建AlertDialog.Builder(EditFriendsActivity.this);
builder.setMessage(例如getMessage())
.setTitle(R.string.error\u title)
.setPositiveButton(android.R.string.ok,null);
AlertDialog=builder.create();
dialog.show();
}
}
});
}
}
});
}
/**
*设置{@linkandroid.app.ActionBar}。
*/
私有void setupActionBar(){
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
开关(item.getItemId()){
案例android.R.id.home: