シナリオ終了時にListView項目を更新: を私はcustomAdapter
、feeditem
I set
とget
データ、ReplyActivity
とMainActivity
を持っています。Updateおよび他の活動が
MainActivity
はserver
からdata
を取得し、customAdapter
を使用してListView
にそれをdisplyay。 ListView
は、以下に示され、onClick
ReplyActivity
が開かれたbtnReply
を有する。 ReplyActivity
で
、私はEditText
とButton
、書き込みやonButtonClick
後、EditText
からtext
がserver
からsend
ですし、任意のActivity
を起動せずにfinish()
を呼び出すことによってSharedPreferences
に保存され、ReplyActivity
が閉じている必要があり、これがフォアグラウンドにMainActivity
をもたらします私のAdapter
が使用されています。 私は既にがにもたらされたかどうかを検出するロジックをfinishing
ReplyActivity
で検出しました。
今私の問題は、どのように私はちょうどbtnReply
がReplyActivity
を開始するにつながるclicked
たposition
のrepStatus
を更新することができますか?
私はこのシナリオに関連していないすべての答えを検索しました。しかし、私はthis here on SOに出くわしましたが、この場合はうまくいきません。
誰でも私がこれをやり遂げる方法を教えてくれれば、これを達成するのに役立つリソースを教えてください。非常に高く評価されます。
マイアダプタ:
public class FeedListAdapter extends BaseAdapter implements View.OnCreateContextMenuListener {
private Activity activity;
private LayoutInflater inflater;
public View getView(final int position, View convertView, ViewGroup parent) {
// session = new SessionManager(MediaActivity.class);
if (inflater == null)
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = inflater.inflate(R.layout.feed_item, null);
convertView.setLongClickable(true);
}
if (imageLoader == null)
imageLoader = AppController.getInstance().getImageLoader();
final TextView name = (TextView)convertView.findViewById(R.id.name);
final Button btnReply = (Button)convertView.findViewById(R.id.btnReply);
final TextView statusMsg = (TextView)convertView.findViewById(R.id.txtStatusMsg);
final TextView repStatus = (TextView)convertView.findViewById(R.id.repStatus);
btnReply.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(v.getContext(), ReplyActivity.class);
intent.putExtra("statusId", statusId.getText().toString());
intent.putExtra("username", userName.getText().toString());
v.getContext().startActivity(intent);
}
});
}
}
位置、トラックキーをトラッキングしないでください。 – Karakuri
どうすればいいですか? @Karakuri –
データにはどのような種類のキーまたはIDがありますか?あなたのデータ構造は、特定のキー/ IDを持つアイテムに対して効率的に検索できますか?私の答えは 'startActivityForResult()'を使用し、位置ではなくキーを渡すことです。 'EditActivity'の結果をセットした後にキーを戻し、' onActivityResult() 'でデータ構造内のそのキーを持つ項目を探してそれに応じて変更し、データが変更されたことをアダプタに通知します。 – Karakuri