2016-10-30 3 views
1

Ich versuche, eine 2-zeilige Listenansicht innerhalb meiner Wearable App wie die auf dem Foto unten (ohne die Symbole) anzuzeigen, aber aus irgendeinem Grund funktioniert es nicht wie erwartet. Ich glaube, das Problem mit der folgenden Codezeile liegt:2-zeilige WearableListView funktioniert nicht richtig

ListViewItem androiders = new ListViewItem(); 

Etwas zwischen den Klammern gehen muss, denn wenn nichts da ist, wird der folgende Fehler zurückgegeben wird.

ListViewItem (String) in ListViewItem kann nicht auf()

ich einige Optionen ausprobiert angewendet werden, aber keiner von ihnen arbeitete.

Option A

ListViewItem androiders = new ListViewItem(""); 

enter image description here

Option B

ListViewItem androiders = new ListViewItem("hello world"); 

enter image description here

Hat jemand KNO w Was sollte zwischen den Klammern gesetzt werden, um dieses Problem zu lösen?

Erwartetes Ergebnis enter image description here

MainActivity.java

public class MainActivity extends Activity implements WearableListView.ClickListener{ 


    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     initialize(); 
    } 

    List<ListViewItem> list = new ArrayList<>(); 
    private void initialize() { 
     String[] items = getResources().getStringArray(R.array.versions_array); 
     String[] itemDescriptions = getResources().getStringArray(R.array.years_array); 
     for (int n = 0; n < items.length; n++){ 
      ListViewItem androiders = new ListViewItem(?); 
      androiders.setID(); 
      androiders.setVersion(items[n]); 
      androiders.setYear(itemDescriptions[n]); 
      list.add(androiders); 
     } 

     WearableListView wearableListView = (WearableListView) findViewById(R.id.wearable_list_view); 
     ListViewAdapter mAdapter = new ListViewAdapter(this, list); 
     wearableListView.setAdapter(mAdapter); 
     wearableListView.setClickListener(this); 
     wearableListView.addOnScrollListener(mOnScrollListener); 
    } 
} 

ListViewItem.java

public class ListViewItem { 

    public String text0; 
    public String text1; 
    private String version; 
    private String year; 

    public ListViewItem(String text) { 
     this.text0 = text; 
     this.text1 = text; 
    } 

    public String getVersion(){ 
     return version; 
    } 

    public void setVersion(String version){ 
     this.version = version; 
    } 

    public String getYear(){ 
     return year; 
    } 

    public void setYear(String year){ 
     this.year = year; 
    } 

    private int _id; 
    public void getID(int _id){ 
     this._id = _id; 
    } 

    public int setID(){ 
     return _id; 
    } 
} 

strings.xml

<resources> 
    <!--Versions strings--> 
    <string name="jellybean">Jelly Bean</string> 
    <string name="kitkat">KitKat</string> 
    <string name="lollipop">Lollipop</string> 
    <string name="marshmallow">Marshmallow</string> 
    <string name="nougat">Nougat</string> 

    <!--Years strings--> 
    <string name="released_2012">Released: 2012</string> 
    <string name="released_2013">Released: 2013</string> 
    <string name="released_2014">Released: 2014</string> 
    <string name="released_2015">Released: 2015</string> 
    <string name="released_2016">Released: 2016</string> 

    <!--Versions array--> 
    <string-array name="versions_array"> 
     //item 1 <item>@string/jellybean</item> 
     //item 2 <item>@string/kitkat</item> 
     //item 3 <item>@string/lollipop</item> 
     //item 4 <item>@string/marshmallow</item> 
     //item 5 <item>@string/nougat</item> 
    </string-array> 

    <!--Years array--> 
    <string-array name="years_array"> 
     //item 1 <item>@string/released_2012</item> 
     //item 2 <item>@string/released_2013</item> 
     //item 3 <item>@string/released_2014</item> 
     //item 4 <item>@string/released_2015</item> 
     //item 5 <item>@string/released_2016</item> 
    </string-array> 

</resources> 

Antwort

-1

Sehen Sie sich Ihre Konstruktor in 'ListViewItem.java', sollte klar sein, was festgelegt wurde. text0 und text1 wurden festgelegt, dann verwendet Ihr Listenadapter diese Werte in der Liste.

+0

Hallo Welt erscheint wie erwartet public ListViewItem (String text) { this.text0 = Text; this.text1 = Text; } Hallo Welt ist Text 0 und 1 –

+0

Ich weiß bereits über 'Hallo Welt', aber ich bezog mich nicht darauf. Ich habe mich auf die Elemente in meinen Arrays bezogen, da sie nicht wie erwartet angezeigt werden. Ist der Code in Ihrem vorherigen Kommentar ein Vorschlag? – MacaronLover