1+ package com .lyl .maketable ;
2+
3+ import android .app .Activity ;
4+ import android .os .Bundle ;
5+ import android .view .LayoutInflater ;
6+ import android .view .View ;
7+ import android .view .ViewGroup ;
8+ import android .widget .BaseAdapter ;
9+ import android .widget .LinearLayout ;
10+ import android .widget .TextView ;
11+
12+ import java .util .ArrayList ;
13+ import java .util .List ;
14+
15+ public class MainActivity extends Activity {
16+
17+ private NoscrollListView mLeft ;
18+ private LeftAdapter mLeftAdapter ;
19+
20+ private NoscrollListView mData ;
21+ private DataAdapter mDataAdapter ;
22+
23+ private SyncHorizontalScrollView mHeaderHorizontal ;
24+ private SyncHorizontalScrollView mDataHorizontal ;
25+
26+ private List <String > mListData ;
27+
28+ @ Override
29+ protected void onCreate (Bundle savedInstanceState ) {
30+ super .onCreate (savedInstanceState );
31+ setContentView (R .layout .activity_main );
32+
33+ initView ();
34+ }
35+
36+ private void initView (){
37+ mLeft = (NoscrollListView ) findViewById (R .id .lv_left );
38+ mData = (NoscrollListView ) findViewById (R .id .lv_data );
39+ mDataHorizontal = (SyncHorizontalScrollView ) findViewById (R .id .data_horizontal );
40+ mHeaderHorizontal = (SyncHorizontalScrollView ) findViewById (R .id .header_horizontal );
41+
42+ mDataHorizontal .setScrollView (mHeaderHorizontal );
43+ mHeaderHorizontal .setScrollView (mDataHorizontal );
44+
45+ mListData = new ArrayList <>();
46+ mListData .add ("1" );
47+ mListData .add ("2" );
48+ mListData .add ("3" );
49+ mListData .add ("4" );
50+ mListData .add ("5" );
51+ mListData .add ("6" );
52+ mListData .add ("7" );
53+ mListData .add ("8" );
54+ mListData .add ("9" );
55+ mListData .add ("10" );
56+ mListData .add ("11" );
57+ mListData .add ("12" );
58+ mListData .add ("13" );
59+
60+ mLeftAdapter = new LeftAdapter ();
61+ mLeft .setAdapter (mLeftAdapter );
62+
63+ mDataAdapter = new DataAdapter ();
64+ mData .setAdapter (mDataAdapter );
65+ }
66+
67+ class LeftAdapter extends BaseAdapter {
68+
69+ @ Override
70+ public int getCount () {
71+ return mListData .size ();
72+ }
73+
74+ @ Override
75+ public Object getItem (int position ) {
76+ return mListData .get (position );
77+ }
78+
79+ @ Override
80+ public long getItemId (int position ) {
81+ return position ;
82+ }
83+
84+ @ Override
85+ public View getView (int position , View convertView , ViewGroup parent ) {
86+ ViewHolder holder = null ;
87+ if (convertView == null ) {
88+ holder = new ViewHolder ();
89+ convertView = LayoutInflater .from (MainActivity .this ).inflate (R .layout .tv_left , null );
90+ holder .tvLeft = (TextView ) convertView .findViewById (R .id .tv_left );
91+ convertView .setTag (holder );
92+ } else {
93+ holder = (ViewHolder ) convertView .getTag ();
94+ }
95+
96+ holder .tvLeft .setText ("第" + position + "行" );
97+
98+ return convertView ;
99+ }
100+
101+ class ViewHolder {
102+ TextView tvLeft ;
103+ }
104+ }
105+
106+ class DataAdapter extends BaseAdapter {
107+
108+ @ Override
109+ public int getCount () {
110+ return mListData .size ();
111+ }
112+
113+ @ Override
114+ public Object getItem (int position ) {
115+ return mListData .get (position );
116+ }
117+
118+ @ Override
119+ public long getItemId (int position ) {
120+ return position ;
121+ }
122+
123+ @ Override
124+ public View getView (int position , View convertView , ViewGroup parent ) {
125+ ViewHolder holder = null ;
126+ if (convertView == null ){
127+ holder = new ViewHolder ();
128+ convertView = LayoutInflater .from (MainActivity .this ).inflate (R .layout .item_data , null );
129+ holder .tvData = (TextView ) convertView .findViewById (R .id .tv_data );
130+ holder .linContent = (LinearLayout ) convertView .findViewById (R .id .lin_content );
131+ convertView .setTag (holder );
132+ }else {
133+ holder = (ViewHolder ) convertView .getTag ();
134+ }
135+
136+ return convertView ;
137+ }
138+
139+ class ViewHolder {
140+ TextView tvData ;
141+ LinearLayout linContent ;
142+ }
143+ }
144+ }
0 commit comments