【发布时间】:2015-05-11 02:33:47
【问题描述】:
我在使用 Parse 的应用程序中遇到了一些麻烦。为了使用解析对象填充 LitsView,我使用了以下适配器类。问题是,我在
处遇到错误ParseObject statusObject = mStatus.get(position);
错误内容为:Error:(44, 47) error: incompatible types: Object cannot be convert to ParseObject
这里发生了什么?
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.parse.ParseObject;
import java.util.List;
public class StatusAdapter extends ArrayAdapter {
protected Context mContext;
protected List mStatus;
public StatusAdapter(Context context, List status) {
super(context, R.layout.homepage, status);
mContext = context;
mStatus = status;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(
R.layout.homepage, null);
holder = new ViewHolder();
holder.usernameHomepage = (TextView) convertView
.findViewById(R.id.usernameHP);
holder.statusHomepage = (TextView) convertView
.findViewById(R.id.statusHP);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ParseObject statusObject = mStatus.get(position);
// title
String username = statusObject.getString("user");
holder.usernameHomepage.setText(username);
// content
String status = statusObject.getString("newStatus");
holder.statusHomepage.setText(status);
return convertView;
}
public static class ViewHolder {
TextView usernameHomepage;
TextView statusHomepage;
}
}
【问题讨论】:
-
检查 mStatus.get(position) 返回的内容
-
您遇到此问题是因为
get方法默认返回Object,因此您应该转换结果或使用List的通用版本。请检查我的答案。
标签: java android parsing android-listview