0
BaseAdapterを使用してListViewの行を表示します。 アクティビティーとアダプターは、2つの異なるクラスで記述されます。 ListActivityでは、以下のコードセットの行データを使用します。アクティビティとアダプタ間のデータ
String[] FileName = {"a", "b", "c"};
MyAdapter a = new MyAdapter(this, FileName);
setListAdapter(a);
アダプタでは、各行にFileNameが表示されます。 しかし、FileNameが変更されることがあります。 したがって、私は変更された配列FileNameを取得したいと考えています。 どうすればいいですか?
アダプタコード:この例では
private String[] name = null;
public BookmarkListAdapter(Context ctxt, String[] s) {
name = s;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewTag viewTag;
if(convertView == null) {
convertView = myInflater.inflate(R.layout.row_bookmark_list, null);
viewTag = new ViewTag((TextView)convertView.findViewById(R.id.row_bookmark_info));
convertView.setTag(viewTag);
}
else {
viewTag = (ViewTag) convertView.getTag();
}
viewTag.n.setText(name[position]);
name[position] = name[(position + 1) % 3]; //change
}
class ViewTag {
TextView n;
public ViewTag(TextView t) {
this.n = t;
}
}
、{ "B"、 "C"、 "A"}に配列変化。 アクティビティでは、変更された配列を取得する方法は?
質問を修正して明確にすることができますか? –
ここでは、FileNameをハードコードしています。これは更新されたone.forを取得するためには機能しません。FileNameへの参照を変更する必要があります。つまり、使用する直前にハードコーディングするのではなく、 MyAdapter。 – Hiral
私は既に問題のコードを編集しています。 – brian