19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2006 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.widget; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.annotation.Widget; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Context; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.res.TypedArray; 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.AttributeSet; 238a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganovimport android.view.accessibility.AccessibilityEvent; 248a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganovimport android.view.accessibility.AccessibilityNodeInfo; 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RelativeLayout; 269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * <p>A view group with two children, intended for use in ListViews. This item has two 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.widget.TextView TextViews} elements (or subclasses) with the ID values 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.id#text1 text1} 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * and {@link android.R.id#text2 text2}. There is an optional third View element with the 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * ID {@link android.R.id#selectedIcon selectedIcon}, which can be any View subclass 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (though it is typically a graphic View, such as {@link android.widget.ImageView ImageView}) 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * that can be displayed when a TwoLineListItem has focus. Android supplies a 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * {@link android.R.layout#two_line_list_item standard layout resource for TwoLineListView} 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * (which does not include a selected item icon), but you can design your own custom XML 371ca6a1ca84349801de093b8bff3da5fc836c101bDianne Hackborn * layout for this object. 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @attr ref android.R.styleable#TwoLineListItem_mode 4086ca5d35139db0eccc2babcca5bf835f8c2b019fRomain Guy * 4186ca5d35139db0eccc2babcca5bf835f8c2b019fRomain Guy * @deprecated This class can be implemented easily by apps using a {@link RelativeLayout} 4286ca5d35139db0eccc2babcca5bf835f8c2b019fRomain Guy * or a {@link LinearLayout}. 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 4486ca5d35139db0eccc2babcca5bf835f8c2b019fRomain Guy@Deprecated 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@Widget 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class TwoLineListItem extends RelativeLayout { 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private TextView mText1; 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private TextView mText2; 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public TwoLineListItem(Context context) { 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this(context, null, 0); 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public TwoLineListItem(Context context, AttributeSet attrs) { 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project this(context, attrs, 0); 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 59617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette public TwoLineListItem(Context context, AttributeSet attrs, int defStyleAttr) { 60617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette this(context, attrs, defStyleAttr, 0); 61617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette } 62617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette 63617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette public TwoLineListItem(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 64617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette super(context, attrs, defStyleAttr, defStyleRes); 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 66617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette final TypedArray a = context.obtainStyledAttributes( 67617feb99a06e7ffb3894e86a286bf30e085f321aAlan Viverette attrs, com.android.internal.R.styleable.TwoLineListItem, defStyleAttr, defStyleRes); 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project a.recycle(); 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected void onFinishInflate() { 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super.onFinishInflate(); 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mText1 = (TextView) findViewById(com.android.internal.R.id.text1); 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mText2 = (TextView) findViewById(com.android.internal.R.id.text2); 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a handle to the item with ID text1. 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return A handle to the item with ID text1. 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public TextView getText1() { 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mText1; 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project /** 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Returns a handle to the item with ID text2. 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * @return A handle to the item with ID text2. 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public TextView getText2() { 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mText2; 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 958a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov 968a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov @Override 978a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov public void onInitializeAccessibilityEvent(AccessibilityEvent event) { 988a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov super.onInitializeAccessibilityEvent(event); 998a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov event.setClassName(TwoLineListItem.class.getName()); 1008a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov } 1018a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov 1028a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov @Override 1038a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) { 1048a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov super.onInitializeAccessibilityNodeInfo(info); 1058a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov info.setClassName(TwoLineListItem.class.getName()); 1068a78fd4d9572dff95432fcc4ba0e87563415b728Svetoslav Ganov } 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 108