在android中用parse填充listview
我正在开发一个Android应用程序,它的Listview中填充了一个Parse中的数据库 我可以将我的列表视图与parse连接起来,在这一边一切都正常。问题是我想在Listview的行中显示一个图像和三个文本,但应用程序只显示图像和一个文本。我无法显示图像150x100dp,只显示了一个小图像 我不知道如何显示行中的所有数据 这是我的密码 主要活动在android中用parse填充listview,android,parse-platform,Android,Parse Platform,我正在开发一个Android应用程序,它的Listview中填充了一个Parse中的数据库 我可以将我的列表视图与parse连接起来,在这一边一切都正常。问题是我想在Listview的行中显示一个图像和三个文本,但应用程序只显示图像和一个文本。我无法显示图像150x100dp,只显示了一个小图像 我不知道如何显示行中的所有数据 这是我的密码 主要活动 public class MainActivity extends Activity { private ParseQueryAdapter&l
public class MainActivity extends Activity {
private ParseQueryAdapter<ParseObject> mainAdapter;
private CustomAdapter urgentTodosAdapter;
private ListView listView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listado_musica;
// Initialize main ParseQueryAdapter
mainAdapter = new ParseQueryAdapter<ParseObject>(this, "Musica");
mainAdapter.setTextKey("titulo");
mainAdapter.setTextKey("artista");
mainAdapter.setTextKey("album");
mainAdapter.setImageKey("imagen");
// Initialize the subclass of ParseQueryAdapter
urgentTodosAdapter = new CustomAdapter(this);
// Initialize ListView and set initial view to mainAdapter
listView = (ListView) findViewById(R.id.list);
listView.setAdapter(mainAdapter);
mainAdapter.loadObjects();
}
}
公共类MainActivity扩展活动{
专用ParseQueryAdapter主适配器;
专用自定义适配器urgenttodapter;
私有列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listado_musica;
//初始化主ParseQueryAdapter
mainAdapter=新的ParseQueryAdapter(这是“Musica”);
main adapter.setTextKey(“titulo”);
main adapter.setTextKey(“artista”);
mainAdapter.setTextKey(“相册”);
maintadapter.setImageKey(“imagen”);
//初始化ParseQueryAdapter的子类
urgentTodosAdapter=新的CustomAdapter(此);
//初始化ListView并将初始视图设置为mainAdapter
listView=(listView)findViewById(R.id.list);
setAdapter(mainAdapter);
mainAdapter.loadObjects();
}
}
custom_list.xml
<com.parse.ParseImageView
android:id="@+id/imagen"
android:layout_width="150dp"
android:layout_height="100dp"
android:background="@drawable/no_picture"
android:layout_alignParentLeft="true"
/>
<TextView
android:id="@+id/titulo"
android:layout_width="80dp"
android:layout_height="21dp"
android:textColor="#FF0000"
android:text="titulo"
android:textIsSelectable="true"
android:clickable="true"
android:layout_alignTop="@+id/imagen"
android:layout_centerHorizontal="true" />
<TextView
android:id="@+id/artista"
android:layout_width="80dp"
android:layout_height="21dp"
android:text="artista"
android:layout_alignBottom="@+id/imagen"
android:layout_alignLeft="@+id/titulo"
android:layout_alignStart="@+id/titulo" />
<TextView
android:layout_width="80dp"
android:layout_height="21dp"
android:text="album"
android:id="@+id/album"
android:layout_alignBottom="@+id/imagen"
android:layout_toRightOf="@+id/artista"
android:layout_toEndOf="@+id/artista"
android:layout_marginLeft="29dp"
android:layout_marginStart="29dp" />
CustomAdapter.java
public class CustomAdapter extends ParseQueryAdapter {
public CustomAdapter(Context context) {
// Use the QueryFactory to construct a PQA that will only show
// Todos marked as high-pri
super(context, new ParseQueryAdapter.QueryFactory<ParseObject>() {
public ParseQuery create() {
ParseQuery query = new ParseQuery("Musica");
//query.whereEqualTo("high pry", "true");
return query;
}
});
}
// Customize the layout by overriding getItemView
@Override
public View getItemView(ParseObject object, View v, ViewGroup parent) {
if (v == null) {
v = View.inflate(getContext(), R.layout.custom_list, null);
}
super.getItemView(object, v, parent);
// Add and download the image
ParseImageView todoImage = (ParseImageView) v.findViewById(R.id.imagen);
ParseFile imageFile = object.getParseFile("imagen");
if (imageFile != null) {
todoImage.setParseFile(imageFile);
todoImage.loadInBackground();
}
// Add the title view
TextView titleTextView1 = (TextView) v.findViewById(R.id.titulo);
titleTextView1.setText(object.getString("titulo"));
// Add a reminder of how long this item has been outstanding
TextView titleTextView2 = (TextView) v.findViewById(R.id.localidad);
titleTextView2.setText(object.getString("artista"));
TextView titleTextView3 = (TextView) v.findViewById(R.id.consola);
titleTextView3.setText(object.getString("album"));
return v;
}
}
公共类CustomAdapter扩展了ParseQueryAdapter{
公共CustomAdapter(上下文){
//使用QueryFactory构建仅显示
//标记为高优先级的待办事项
super(上下文,新的ParseQueryAdapter.QueryFactory(){
公共ParseQuery创建(){
ParseQuery=新的ParseQuery(“Musica”);
//查询:whereEqualTo(“高撬”、“真实”);
返回查询;
}
});
}
//通过覆盖getItemView自定义布局
@凌驾
公共视图getItemView(ParseObject对象、视图v、视图组父对象){
如果(v==null){
v=View.inflate(getContext(),R.layout.custom_list,null);
}
super.getItemView(对象,v,父对象);
//添加并下载图像
ParseImageView todoImage=(ParseImageView)v.findViewById(R.id.imagen);
ParseFile imageFile=object.getParseFile(“imagen”);
if(imageFile!=null){
todoImage.setParseFile(imageFile);
todoImage.loadInBackground();
}
//添加标题视图
TextView titleTextView1=(TextView)v.findViewById(R.id.titulo);
titleTextView1.setText(object.getString(“titulo”);
//添加此项目未完成时间的提醒
TextView titleTextView2=(TextView)v.findViewById(R.id.localidad);
titleTextView2.setText(object.getString(“artista”);
TextView titleTextView3=(TextView)v.findViewById(R.id.consola);
titleTextView3.setText(object.getString(“相册”);
返回v;
}
}
activity_listado_musica.xml
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true" />
有人能帮我吗?我想我在适配器上做错了什么,但我不知道是什么
我已经遵循并阅读了Android解析指南和mealspott教程,我无法找到我的代码中的错误
提前感谢您的问候,尝试使用链接。它对我非常有用
另一个解决方案是在CustomAdapter.java上更改这一行:
textView.setText(object.getString("String");
到
试着使用链接。它对我很有用
另一个解决方案是在CustomAdapter.java上更改这一行:
textView.setText(object.getString("String");
到
我正在尝试。我知道本教程,但我的代码只在没有显示我想要的内容时才起作用。在本教程之后,我必须重新编写所有代码,我认为,问题很容易解决,可能是在CustomAdapter中。但我正在尝试使用本教程。感谢您的支持和兴趣。@Rec我添加了另一个可能解决的解决方案I don’我帮不了你Hi-Ido,再次感谢,很抱歉我两天前没有看到你的答案。我今天尝试了,但没有效果。我将继续学习AndroidBegin教程。Hi-Ido,我用AndroidBegin教程实现了我的代码,我的代码中有一个错误,我不知道为什么“ImageLoader”给我一个错误“无法解析符号ImageLoader”,是吗你知道我要检查什么吗?谢谢。我正在尝试。我知道本教程,但我的代码只能在没有显示我想要的内容的情况下工作。在本教程之后,我必须重新编写所有代码,我认为,问题很容易解决,可能是在CustomAdapter中。但我正在尝试使用本教程。感谢您的支持和兴趣。@Rec我已经添加了另一个可能对您有帮助的解决方案嗨,Ido,再次感谢,很抱歉我两天前没有看到您的答案。我今天尝试了,但没有效果。我将继续学习AndroidBegin教程。嗨,Ido,我已经用AndroidBeging教程实现了我的代码,我的代码中有一个错误,我不知道为什么“ImageLoader”会给我一个错误“Cann”ot解析symbol ImageLoader',你知道我要检查什么吗?谢谢