package sample.helloworld; import android.app.Activity; import android.app.ListFragment; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; /** * app://picker?selection=Ryan * <p> * params:<br> * selection : string * <p> * result:<br> * selection : string * * @author mmin18 * */ public class PickerFragment extends ListFragment implements AdapterView.OnItemClickListener { String[] ITEMS = { "Alex", "Andy", "Ben", "Carl", "Denny", "Edward", "Howard", "Ivan", "Jimmy", "Kevin", "Larry", "Mark", "Nicholas", "Paul", "Ryan", "Steven", "Tommy", "Vincent" }; String selection; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Uri uri = getActivity().getIntent().getData(); selection = uri.getQueryParameter("selection"); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); setListAdapter(new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, ITEMS) { @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); if (ITEMS[position].equals(selection)) { v.setBackgroundColor(0x40FF0000); } else { v.setBackgroundColor(0); } return v; } }); getListView().setOnItemClickListener(this); } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent data = new Intent(); data.putExtra("selection", ITEMS[position]); getActivity().setResult(Activity.RESULT_OK, data); getActivity().finish(); } }