在android中用parse填充listview

在android中用parse填充listview,android,parse-platform,Android,Parse Platform,我正在开发一个Android应用程序,它的Listview中填充了一个Parse中的数据库 我可以将我的列表视图与parse连接起来,在这一边一切都正常。问题是我想在Listview的行中显示一个图像和三个文本,但应用程序只显示图像和一个文本。我无法显示图像150x100dp,只显示了一个小图像 我不知道如何显示行中的所有数据 这是我的密码 主要活动 public class MainActivity extends Activity { private ParseQueryAdapter&l

我正在开发一个Android应用程序,它的Listview中填充了一个Parse中的数据库

我可以将我的列表视图与parse连接起来,在这一边一切都正常。问题是我想在Listview的行中显示一个图像和三个文本,但应用程序只显示图像和一个文本。我无法显示图像150x100dp,只显示了一个小图像

我不知道如何显示行中的所有数据

这是我的密码

主要活动

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',你知道我要检查什么吗?谢谢