این وبسایت یک نسخه آزمایشی از سایت developer android می‌باشد که در حال ترجمه می‌باشد.
برای پیوستن به تیم ترجمه و خواندن مستندات اینجا کلیک کنید.
SpeedTracker / Wearable / src / com.example.android.wearable.speedtracker / ui /

SpeedPickerListAdapter.java

1
/*
2
 * Copyright (C) 2014 Google Inc. All Rights Reserved.
3
 *
4
 * Licensed under the Apache License, Version 2.0 (the "License");
5
 * you may not use this file except in compliance with the License.
6
 * You may obtain a copy of the License at
7
 *
8
 *      http://www.apache.org/licenses/LICENSE-2.0
9
 *
10
 * Unless required by applicable law or agreed to in writing, software
11
 * distributed under the License is distributed on an "AS IS" BASIS,
12
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
 * See the License for the specific language governing permissions and
14
 * limitations under the License.
15
 */
16
 
17
package com.example.android.wearable.speedtracker.ui;
18
 
19
import android.content.Context;
20
import android.support.wearable.view.WearableListView;
21
import android.view.LayoutInflater;
22
import android.view.View;
23
import android.view.ViewGroup;
24
import android.widget.TextView;
25
 
26
import com.example.android.wearable.speedtracker.R;
27
 
28
/**
29
 * A {@link android.support.wearable.view.WearableListView.Adapter} that is used to populate the
30
 * list of speeds.
31
 */
32
public class SpeedPickerListAdapter extends WearableListView.Adapter {
33
 
34
    private int[] mDataSet;
35
    private final Context mContext;
36
    private final LayoutInflater mInflater;
37
 
38
    public SpeedPickerListAdapter(Context context, int[] dataset) {
39
        mContext = context;
40
        mInflater = LayoutInflater.from(context);
41
        mDataSet = dataset;
42
    }
43
 
44
    public static class ItemViewHolder extends WearableListView.ViewHolder {
45
 
46
        private TextView mTextView;
47
 
48
        public ItemViewHolder(View itemView) {
49
            super(itemView);
50
            // find the text view within the custom item's layout
51
            mTextView = (TextView) itemView.findViewById(R.id.name);
52
        }
53
    }
54
 
55
    /**
56
     * Create new views for list items (invoked by the WearableListView's layout manager)
57
     */
58
    @Override
59
    public WearableListView.ViewHolder onCreateViewHolder(ViewGroup parent,
60
            int viewType) {
61
        // Inflate our custom layout for list items
62
        return new ItemViewHolder(mInflater.inflate(R.layout.speed_picker_item_layout, null));
63
    }
64
 
65
    /**
66
     * Replaces the contents of a list item. Instead of creating new views, the list tries to
67
     * recycle existing ones. This is invoked by the WearableListView's layout manager.
68
     */
69
    @Override
70
    public void onBindViewHolder(WearableListView.ViewHolder holder,
71
            int position) {
72
        // retrieve the text view
73
        ItemViewHolder itemHolder = (ItemViewHolder) holder;
74
        TextView view = itemHolder.mTextView;
75
        // replace text contents
76
        view.setText(mContext.getString(R.string.speed_for_list, mDataSet[position]));
77
        // replace list item's metadata
78
        holder.itemView.setTag(position);
79
    }
80
 
81
    /**
82
     * Return the size of the data set (invoked by the WearableListVi