Min Listevisning er ikke synlig ordentlig i android

stemmer
0

Mitt problem er at min listevisningen bare viser rektangel bokser med ingen alternativer synlig, men når jeg klikker et element det viser liste tekst Nedenfor er min xml filen:

<?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>

Nedenfor er min java-fil:

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);
}
}

skriv

Publisert på 02/09/2018 klokken 05:37
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Endre linjen: -

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

til

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

Differnce er som simple_list_item_1har en enkelt textview mens den simple_list_item_2har to textviews inne i en underklasse av RelativeLayout.

Også arrayadapterikke fyller flere textview tilfeller. Du må overstyre getView()for det.

Dette svaret vil gjøre det mer klart

Merk: - Siden listViewer allerede match_parentbåde bredde og høyde, bør det ikke være behov for på linje med bunnen eller slutten eller høyre.

Prøv uten å spesifisere textview ressurs id som: -

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

Siden uten den, bruker den standard textview for visning av hvert element. Men hvis du vil du eier textview, lage et oppsett med textview som roten visningen og sette den id som ovenfor og se den i konstruktør med textview resouceId.

Men i ditt tilfelle trenger du ikke det, så prøv å bruke uten.

Håper dette hjelper.

Svarte 02/09/2018 kl. 07:04
kilden bruker

stemmer
0

I bildet, tekstene er veldig blek. Når du klikker på en av dem, på bakgrunn av varen blir mørk og hvit tekst vises. På den annen side hvis du vil ha elementer med en textview, bør du bruke ArrayAdapter, ellers må du utvide ArrayAdapterklassen. Her er et eksempel:

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

Svarte 02/09/2018 kl. 07:18
kilden bruker

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