我有一個ArrayAdapter,它的getView用數據設置列表視圖中的項目。當我在列表視圖中單擊一行時,我想開始另一個活動(我可以這樣做),但將該活動的一些數據發送到另一個視圖中。如何訪問arrayAdapter中的變量getView onItemClick
我該如何在onItemClick方法中通過getView訪問數據?
@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);
TextView actualTimeIn = (TextView) rowView.findViewById(R.id.rowactualtimein);
TextView actualTimeOut = (TextView) rowView.findViewById(R.id.rowactualtimeout);
String record = list.get(position).toString();
String[] itemsInRecord = record.split(",");
Log.e(TAG, "itemin record = " + itemsInRecord.length);
String[] recordItem = new String[itemsInRecord.length];
for (int x = 0; x < itemsInRecord.length; x++) {
recordItem[x] = itemsInRecord[x];
}
//set date above listview
textViewDate.setText("Rota For " + recordItem[0].substring(1, 11));
String withoutBraket = recordItem[0].substring(11);
String withoutSecs = withoutBraket.substring(0, 6);
Log.e(TAG, "recordItem = " + recordItem[2]);
String _statusString = recordItem[2].toString().trim();
if(_statusString.equalsIgnoreCase("Completed")){
statusField = "c";
}else if(_statusString.equalsIgnoreCase("NCR")){
statusField = "NCR";
}else if(_statusString.equalsIgnoreCase("Waiting")){
statusField = "W";
}
Log.e(TAG, "statusField = " + statusField);
startTime.setText(withoutSecs+" ");
duration.setText(recordItem[1]+" mins ");
status.setText(statusField);
name.setText(" " + recordItem[3] + recordItem[4]);
callID = recordItem[5];
// needName = recordItem[6];
actualTimeIn.setText("This call was completed at " + recordItem[6] + " - ");
if(! recordItem[7].toString().trim().equalsIgnoreCase( "]")){
String stripBracket = recordItem[7].toString().trim();
Log.e(TAG, "stripBracket = " + stripBracket);
String stripBracket2 = stripBracket.substring(0,5);
Log.e(TAG, "SB after split = " + stripBracket2);
actualTimeOut.setText(stripBracket2);
}
return rowView;
}
。
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
Log.e(TAG, "inside onItemClick");
Intent i = new Intent(GetRota.this, someOtherActivity.class);
i.putsomedata;
startActivity(i);
}
太棒了!正是我需要的感謝。 – turtleboy