Ma Liste n'est pas visible correctement dans Android

voix
0

Mon problème est que mon listview juste affiche des boîtes rectangulaires avec aucune option visible, mais quand je cliquez sur un élément affiche le texte de la liste ci-dessous est mon fichier xml:

<?xml version=1.0 encoding=utf-8?>
<RelativeLayout 
xmlns:android=http://schemas.android.com/apk/res/android
xmlns:app=http://schemas.android.com/apk/res-auto
xmlns:tools=http://schemas.android.com/tools
android:layout_width=match_parent
android:layout_height=match_parent
tools:context=.MainActivity>

<ListView

    android:id=@ id/lv
    android:layout_width=match_parent
    android:layout_height=match_parent
    android:layout_alignParentBottom=true
    android:layout_alignParentEnd=true
    android:layout_alignParentRight=true />
</RelativeLayout>

ci-dessous est mon fichier java:

package com.example.mypc.contextmenuapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.*;
public class MainActivity extends AppCompatActivity {
ListView lv;
ArrayAdapter<String> adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lv=(ListView) findViewById(R.id.lv);
    String []arr=getResources().getStringArray(R.array.myarray);
    adapter=new ArrayAdapter<String> 
   (getApplicationContext(),android.R.layout.simple_list_item_2
             ,android.R.id.text1,arr);
    lv.setAdapter(adapter);
}
}

entrez

Créé 02/09/2018 à 05:37
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
1

Changer la ligne: -

adapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_2
         ,android.R.id.text1,arr);

à

adapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1
         ,android.R.id.text1,arr);

Differnce est que simple_list_item_1comporte un seul textview tandis que la simple_list_item_2présente deux textviews l' intérieur d' une sous - classe de RelativeLayout.

De plus , le arrayadapterne remplit pas plusieurs instances de TextView. Vous devez passer outre getView()pour cela.

Cette réponse sera plus claire

Note: - Depuis l' listViewest déjà à la match_parentfois la largeur et la hauteur, il devrait y avoir pas besoin d'aligner avec le fond ou à la fin ou à droite.

Essayez sans préciser l'identifiant de ressource textview comme: -

adapter=new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_list_item_1
         ,arr)

Depuis sans elle, il utilise le textview par défaut pour afficher chaque élément. Mais si vous voulez vous possédez textview, créez une mise en page avec textview comme la vue racine et mettez-id comme ci-dessus et de le renvoyer dans le constructeur avec le resouceId TextView.

Mais dans votre cas, vous n'avez pas besoin, donc essayer d'utiliser sans elle.

J'espère que cela t'aides.

Créé 02/09/2018 à 07:04
source utilisateur

voix
0

Dans l' image, les textes sont très blême. Lorsque vous cliquez sur l' un d'entre eux, l'arrière - plan de l'élément devient sombre et le texte blanc apparaît. D'autre part , si vous voulez avec un textview articles, vous devez utiliser ArrayAdapter, sinon vous devez étendre la ArrayAdapterclasse. Voici un exemple:

https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView

Créé 02/09/2018 à 07:18
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more