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