은 내가 multidimentional arrayList.eg가arrayAdapter가 둘 이상의 배열의 내용을 표시하는 방법은 무엇입니까?
arrayList 0 --> {startdate, duration, status}
1 --> {startdate, duration, status}
2 --> {startdate, duration, status}
내가이 배열을 번들하고 다음 활동에 보낸 있습니다. 이 액티비티에서는 arrayList의 첫 번째 인덱스를 어댑터에 전달할 수 있으며 데이터를 표시합니다 (한 번에 5 번 표시되었지만 다른 문제가 표시됨).
제 질문은 어떻게 하나 이상의 배열을 어댑터에 전달할 수 있습니까? 아니면 하나 이상의 배열을 반복하도록 어댑터를 가져올 수 있습니까?
다음 스 니펫 배열은 다차원 배열입니다. 어댑터에 전달할 위치 (0)를 하드 코드했습니다. 다른 7 개의 배열을 어댑터에 어떻게 전달합니까?
public class GetRota extends Activity {
private static final String TAG = GetRota.class.getSimpleName();
ListView listView;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.getrotalayout);
listView = (ListView)findViewById(R.id.rotalist);
intent = this.getIntent();
Bundle bundle = intent.getBundleExtra("rotaArrayBundle");
@SuppressWarnings("unchecked")
ArrayList array = (ArrayList) bundle.get("rotaArray");
String record = array.get(0).toString();
String[] itemsInRecord = record.split(",");
String[] recordItem = new String[5];
for(int x = 0; x < itemsInRecord.length; x++){
Log.e(TAG, "token = " + itemsInRecord[x]);
recordItem[x] = itemsInRecord[x];
}
MySimpleArrayAdapter arrayAdapter = new MySimpleArrayAdapter(this, recordItem);
listView.setAdapter(arrayAdapter);
}// end of onCreate
private class MySimpleArrayAdapter extends ArrayAdapter<String> {
private final Context context;
private final String[] values;
public MySimpleArrayAdapter(Context context, String[] values) {
super(context, R.layout.rotarowlayout, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.rotarowlayout, parent, false);
TextView startTime = (TextView)rowView.findViewById(R.id.rowstarttime);
TextView duration = (TextView)rowView.findViewById(R.id.rowduration);
TextView status = (TextView)rowView.findViewById(R.id.rowstatus);
TextView name = (TextView)rowView.findViewById(R.id.rowclientname);
startTime.setText("Start Time: " + values[0]);
duration.setText("Duration:" + values[1]);
status.setText("Status:" + values[2]);
name.setText("Client:" + values[3] + values[4]);
return rowView;
}
}
}// end of GetRota
감사합니다. 빠른 모양을 보였지만 나중에 오늘 밤에 진행할 것입니다. 다차원 배열을 다루지 만 잘 모르겠다. – turtleboy
목록 어댑터로 원하는 데이터 구조를 전환하는 방법을 보여 준다. 그 점에서 당신에게 어떻게 표시되는지. – CaseyB