package com.paphus.sdk.activity.forum; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.GestureDetector; import android.view.MotionEvent; import android.view.View; import android.widget.ListView; import com.paphus.sdk.activity.R; import com.paphus.sdk.activity.MainActivity; import com.paphus.sdk.activity.actions.HttpAction; import com.paphus.sdk.activity.actions.HttpFetchForumPostAction; import com.paphus.sdk.config.ForumPostConfig; /** * Activity for choosing a forum post from the search results. */ public class ChoosePostActivity extends Activity { public List<ForumPostConfig> instances; public ForumPostConfig instance; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_choosepost); setTitle("Posts: " + MainActivity.instance.name); this.instances = MainActivity.posts; ListView list = (ListView) findViewById(R.id.instancesList); list.setAdapter(new ForumPostImageListAdapter(this, R.layout.forumpost_list, this.instances)); GestureDetector.SimpleOnGestureListener listener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDoubleTapEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { ListView list = (ListView) findViewById(R.id.instancesList); int index = list.getCheckedItemPosition(); if (index < 0) { return false; } else { selectInstance(list); } return true; } return false; } }; final GestureDetector listDetector = new GestureDetector(this, listener); list.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return listDetector.onTouchEvent(event); } }); } @Override public void onResume() { this.instances = MainActivity.posts; ListView list = (ListView) findViewById(R.id.instancesList); list.setAdapter(new ForumPostImageListAdapter(this, R.layout.forumpost_list, this.instances)); super.onResume(); } public void selectInstance(View view) { ListView list = (ListView) findViewById(R.id.instancesList); int index = list.getCheckedItemPosition(); if (index < 0) { MainActivity.showMessage("Select a post", this); return; } this.instance = instances.get(index); ForumPostConfig config = new ForumPostConfig(); config.id = this.instance.id; HttpAction action = new HttpFetchForumPostAction(this, config); action.execute(); } }