| 

.NET C# Java Javascript Exception

1
Hallo, ich schreibe einen ArrayAdapter;dazu habe ich eine ModelClass IndexData
public class IndexData implements Comparable<Object>{
public String name;
public long rowId;

public IndexData(){
rowId = -1L;
name = "";
}

public IndexData(long _rowId, String _name){
rowId = _rowId;
name = _name;
}

public int compareTo( Object o ){
return toString().compareTo(o.toString());
}

public String toString(){
return name;
}
}

Der IndexAdapter sieht so aus:
public class IndexAdapter extends BaseAdapter implements SectionIndexer {
private ArrayList<IndexData> stringArray;
private Context context;

public IndexAdapter(Context _context, ArrayList<IndexData> arr) {
stringArray = arr;
context = _context;
}
public int getCount() {
return stringArray.size();
}
public Object getItem(int arg0) {
return stringArray.get(arg0);
}
public long getItemId(int arg0) {
return 0;
}

In der Methode getview() weiß ich nicht, wie ich .toUppercase()auf den DatenTyp IndexData umsetzen kann; das gleiche Problem taucht in einer weiteren Methode mit .substing() auf.
Ich habe den Datentyp String jeweils im Code der Kennzeichnung halber gelassen
public View getView(int position, View v, ViewGroup parent) {
// ........
// header ist ein LinearLayout
String lab = stringArray.get(position);
char fChar = lab.toUpperCase(Locale.GERMANY).charAt(0);
if (position == 0) {
setSection(header, lab);
} else {
String pLab = stringArray.get(position - 1);
char pFChar = pLab.toUpperCase(Locale.GERMANY).charAt(0);
if (fChar != pFChar) {
setSection(header, label);
} else {
header.setVisibility(View.GONE);
}
}
TextView tv = (TextView) view.findViewById(R.id.tvIndex);
tv.setText(lab);
return view;
}

Wer kann mir helfen ?
Danke !
News:
22.09.2015
Lukos 37 5
2 Antworten
0
Wenn ich Ihre Anfrage richtig verstehe, dann sollte folgendes funktionieren:
String lab = ((DataIndex) stringarray.get(Position)).toString();

Dies würde das konkrete Objekt der Klasse DataIndex auswählen und die .toString()-Methode anwenden. Diese würde das Feld Name als Zeichenkette zurückgeben und man könnte beliebige Zeichenkettenoperationen anwenden.
28.09.2015
edvservice 1,2k 6
0
Perfekt !
Herzlichen Dank, das wars
30.09.2015
Lukos 37 5

Stelle deine Java-Frage jetzt!