Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SampleChooserActivity extends Activity {
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.sample_chooser_activity);
- ListView sampleList = (ListView) findViewById(R.id.sample_list);
- final SampleAdapter sampleAdapter = new SampleAdapter(this);
- sampleAdapter.add(new Header("Local Videos"));
- sampleAdapter.addAll((Object[]) Samples.LOCAL_VIDEOS);
- sampleList.setAdapter(sampleAdapter);
- sampleList.setOnItemClickListener(new OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- Object item = sampleAdapter.getItem(position);
- if (item instanceof Samples.Sample) {
- onSampleSelected((Samples.Sample) item);
- }
- }
- });
- }
- private void onSampleSelected(Samples.Sample sample) {
- Intent mpdIntent = new Intent(this, PlayerActivity.class)
- .setData(Uri.parse(sample.uri))
- .putExtra(PlayerActivity.CONTENT_ID_EXTRA, sample.contentId)
- .putExtra(PlayerActivity.CONTENT_TYPE_EXTRA, sample.type)
- .putExtra(PlayerActivity.PROVIDER_EXTRA, sample.provider);
- startActivity(mpdIntent);
- }
- private static class SampleAdapter extends ArrayAdapter<Object> {
- public SampleAdapter(Context context) {
- super(context, 0);
- }
- @Override
- public View getView(int position, View convertView, ViewGroup parent) {
- View view = convertView;
- if (view == null) {
- int layoutId = getItemViewType(position) == 1 ? android.R.layout.simple_list_item_1
- : R.layout.sample_chooser_inline_header;
- view = LayoutInflater.from(getContext()).inflate(layoutId, null, false);
- }
- Object item = getItem(position);
- String name = null;
- if (item instanceof Samples.Sample) {
- name = ((Samples.Sample) item).name;
- } else if (item instanceof Header) {
- name = ((Header) item).name;
- }
- ((TextView) view).setText(name);
- return view;
- }
- @Override
- public int getItemViewType(int position) {
- return (getItem(position) instanceof Samples.Sample) ? 1 : 0;
- }
- @Override
- public int getViewTypeCount() {
- return 2;
- }
- }
- private static class Header {
- public final String name;
- public Header(String name) {
- this.name = name;
- }
- }
- }
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
- <ListView android:id="@+id/sample_list"
- android:layout_width="match_parent"
- android:layout_height="match_parent"/>
- </LinearLayout>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement