importandroid.support.v7.app.AppCompatActivity;importandroid.os.Bundle;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.BaseAdapter;importandroid.widget.LinearLayout;importandroid.widget.TextView;importjava.util.ArrayList;importjava.util.List;public class MainActivity extendsAppCompatActivity {privateNoscrollListView mLeft;privateLeftAdapter mLeftAdapter;privateNoscrollListView mData;privateDataAdapter mDataAdapter;privateSyncHorizontalScrollView mHeaderHorizontal;privateSyncHorizontalScrollView mDataHorizontal;private ListmListData;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}private voidinitView(){
mLeft=(NoscrollListView) findViewById(R.id.lv_left);
mData=(NoscrollListView) findViewById(R.id.lv_data);
mDataHorizontal=(SyncHorizontalScrollView) findViewById(R.id.data_horizontal);
mHeaderHorizontal=(SyncHorizontalScrollView) findViewById(R.id.header_horizontal);
mDataHorizontal.setScrollView(mHeaderHorizontal);
mHeaderHorizontal.setScrollView(mDataHorizontal);
mListData= new ArrayList<>();
mListData.add("1");
mListData.add("2");
mListData.add("3");
mListData.add("4");
mListData.add("5");
mListData.add("6");
mListData.add("7");
mListData.add("8");
mListData.add("9");
mListData.add("10");
mListData.add("11");
mListData.add("12");
mListData.add("13");
mLeftAdapter= newLeftAdapter();
mLeft.setAdapter(mLeftAdapter);
mDataAdapter= newDataAdapter();
mData.setAdapter(mDataAdapter);
}class LeftAdapter extendsBaseAdapter {
@Overridepublic intgetCount() {returnmListData.size();
}
@Overridepublic Object getItem(intposition) {returnmListData.get(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {
ViewHolder holder= null;if (convertView == null) {
holder= newViewHolder();
convertView= LayoutInflater.from(MainActivity.this).inflate(R.layout.item_left, null);
holder.tvLeft=(TextView) convertView.findViewById(R.id.tv_left);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}
holder.tvLeft.setText("第" + position + "行");returnconvertView;
}classViewHolder {
TextView tvLeft;
}
}class DataAdapter extendsBaseAdapter {
@Overridepublic intgetCount() {returnmListData.size();
}
@Overridepublic Object getItem(intposition) {returnmListData.get(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {
ViewHolder holder= null;if(convertView == null){
holder= newViewHolder();
convertView= LayoutInflater.from(MainActivity.this).inflate(R.layout.item_data, null);
holder.tvData=(TextView) convertView.findViewById(R.id.tv_data);
holder.linContent=(LinearLayout) convertView.findViewById(R.id.lin_content);
convertView.setTag(holder);
}else{
holder=(ViewHolder) convertView.getTag();
}returnconvertView;
}classViewHolder {
TextView tvData;
LinearLayout linContent;
}
}
}