Я разрабатываю приложение для Android с Listview, заполненным базой данных в Parse.popilling listview with parse in android
Я могу подключить свой просмотр списка с помощью синтаксиса и на этой стороне все работает. Проблема в том, что я хочу показать одно изображение и три текста в строке списка, но приложение показывает только изображение и один текст. Я не могу показать изображение 150x100dp, показывается только небольшое изображение.
Я не знаю, как показать все данные в строке.
Это мой код.
MainActivity
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();
}
}
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;
}
}
activity_listado_musica.xml
<ListView
android:id="@+id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true" />
Кто-нибудь может мне помочь? Я думаю, что я делаю что-то неправильно в адаптере, но я не знаю, что.
Я проследил и прочитал руководство по синтаксическому анализу Android и учебное пособие по едокам, и я не могу найти, что не так в моем коде.
спасибо заранее, что касается
спасибо, я попробую, – Rec
@Rec Он работал? –
Я пытаюсь. Я знал этот учебник, но мой код работает только в том, что он не показывает, что я хочу. Следуя этому руководству, я должен переписать весь код, и я думаю, проблема в том, что легко решить, возможно, в CustomAdapter. Но я пытаюсь с этим учебником. – Rec