1b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown/*
2b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * Copyright (C) 2010 The Android Open Source Project
3b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown *
4b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * Licensed under the Apache License, Version 2.0 (the "License");
5b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * you may not use this file except in compliance with the License.
6b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * You may obtain a copy of the License at
7b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown *
8b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown *      http://www.apache.org/licenses/LICENSE-2.0
9b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown *
10b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * Unless required by applicable law or agreed to in writing, software
11b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * distributed under the License is distributed on an "AS IS" BASIS,
12b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * See the License for the specific language governing permissions and
14b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * limitations under the License.
15b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown */
16b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
17b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownpackage com.example.android.apis.view;
18b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
19b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport com.example.android.apis.R;
20b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
21b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.app.Activity;
22b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.os.Bundle;
23b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.view.View;
24b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.AdapterView;
25b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.ArrayAdapter;
26b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.ListAdapter;
27b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.ListView;
28b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.Toast;
29b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownimport android.widget.AdapterView.OnItemClickListener;
30b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
31b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
32b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown/**
33b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown * Demonstrates splitting touch events across multiple views within a view group.
34b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown */
35b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brownpublic class SplitTouchView extends Activity {
36b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    @Override
37b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    protected void onCreate(Bundle savedInstanceState) {
38b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        super.onCreate(savedInstanceState);
39b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
40b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        setContentView(R.layout.split_touch_view);
41b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        ListView list1 = (ListView) findViewById(R.id.list1);
42b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        ListView list2 = (ListView) findViewById(R.id.list2);
43b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        ListAdapter adapter = new ArrayAdapter<String>(this,
44b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown                android.R.layout.simple_list_item_1, Cheeses.sCheeseStrings);
45b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        list1.setAdapter(adapter);
46b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        list2.setAdapter(adapter);
47b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
48b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        list1.setOnItemClickListener(itemClickListener);
49b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        list2.setOnItemClickListener(itemClickListener);
50b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    }
51b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
52b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    private int responseIndex = 0;
53b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
54b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    private final OnItemClickListener itemClickListener = new OnItemClickListener() {
55b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
56b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown            String[] responses = getResources().getStringArray(R.array.cheese_responses);
57b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown            String response = responses[responseIndex++ % responses.length];
58b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
59b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown            String message = getResources().getString(R.string.split_touch_view_cheese_toast,
60b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown                    Cheeses.sCheeseStrings[position], response);
61b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown
62b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown            Toast toast = Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT);
63b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown            toast.show();
64b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown        }
65b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown    };
66b39c4ba316a523e4ecf0ac9e71377b8c5b35c25cJeff Brown}
67