兩listview聯動

來源:互聯網
上載者:User

標籤:

package com.mttz;

 

import java.util.ArrayList;
import java.util.List;

import com.mttz.adapter.CaiDanADP;
import com.mttz.bean.ShopDTO;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.ScrollView;
import android.widget.TextView;

public class CaiPinFragment extends Fragment{

//開始
ListView listView, listView2;
/**
* 本來想做標題停留在最上方的,不想想了
*/
//TextView textView;
/**
* 左邊listview的要使用的數組
*/
String[] arr = new String[] {"快餐","超市","水果","生鮮","藥店","更多" };


String[] arr2 = new String[] { "快餐", "水餃", "面", "米粉", "辣椒", "" };
String[] arr3 = new String[] { "超市", "急", "用", "錢", "找", "我", "們" };
String[] arr4 = new String[] { "水果", "放", "款", "快", "額" };
String[] arr5 = new String[] { "生鮮", "度", "高", "無", "需", "低", "壓",
"food" };
String[] arr6 = new String[] { "藥店", "聯", "系", "電" };
String[] arr7 = new String[] { "更多", "話", "x", "x", "x", "x", "x",
"x", "x", "x", "美", "通", "投", "資" };

String[][] arr8 = new String[][] { arr2, arr3, arr4, arr5, arr6, arr7 };

/**
* 用來存放 food數組
*/
List<String> list;

/**
* 用來記錄每一個 1 2 3 4 5 6 在右邊listview的位置;
*/
List<Integer> nums = new ArrayList<Integer>();
//結束


//private ListView cp_caidan_lv,cp_caipin_lv;



@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_caipin,container, false);
// initWithView(rootView);
initView(rootView);

return rootView;
}


// private void initWithView(View view){
// cp_caidan_lv = (ListView) view.findViewById(R.id.cp_caidan_lv);//左側功能表列
// cp_caipin_lv = (ListView) view.findViewById(R.id.cp_caidan_lv);//右側菜品欄
//
//
// }
//



private void initView(View view)
{
//textView = (TextView) findViewById(R.id.textView1);
listView = (ListView) view.findViewById(R.id.cp_caidan_lv);

List<String> CaiPinLV= new ArrayList<String>();
//list = new ArrayList<String>();

for (int j = 0; j < arr.length; j++)
{

CaiPinLV.add(arr[j]);

}

CaiDanADP adp = new CaiDanADP(CaiPinLV, getActivity());
listView.setAdapter(adp);


list = new ArrayList<String>();

for (int j = 0; j < arr8.length; j++)
{
for (int j2 = 0; j2 < arr8[j].length; j2++)
{
list.add(arr8[j][j2]);
}
}

for (int i = 0; i < arr8.length; i++)
{
if (i == 0)
{
nums.add(0);
} else if (i > 0 && i < arr8.length)
{
int num = 0;
for (int j = 0; j < i; j++)
{
num = num + arr8[j].length;

}
nums.add(num);
}
}


listView2 =(ListView) view.findViewById(R.id.cp_caipin_lv);
listView2.setAdapter(new MyAdapter());

/**
*
* 判斷listview滑動
* */
listView2.setOnScrollListener(new AbsListView.OnScrollListener()
{

@Override
public void onScrollStateChanged(AbsListView view, int scrollState)
{

}

@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount)
{
if (nums.contains(firstVisibleItem) && listView.getChildCount() > 0)
{

for (int i = 0; i < listView.getChildCount(); i++)
{
if (i == nums.indexOf(firstVisibleItem))
{
listView.getChildAt(i).setBackgroundColor(
Color.rgb(200, 200, 200));
} else
{
listView.getChildAt(i).setBackgroundColor(Color.TRANSPARENT);

}


}



}
}
});

listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id)
{
for (int i = 0; i < listView.getChildCount(); i++)
{
if (i == position)
{
view.setBackgroundColor(Color.rgb(255, 250, 250));
} else
{
view.setBackgroundColor(Color.rgb(200, 200, 200));
}
}

listView2.setSelection(nums.get(position));

}
});

}

class MyAdapter extends BaseAdapter
{
private LayoutInflater inflater;

@Override
public int getCount()
{
return list.size();
}

@Override
public Object getItem(int position)
{
return list.get(position);
}

@Override
public long getItemId(int position)
{
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent)
{
//TextView textView = new TextView(getActivity());
//textView.setText(list.get(position));
//textView.setGravity(Gravity.CENTER_VERTICAL);
//textView.setMinHeight(200);
//
//
//if (nums.contains(position))
//{
//textView.setBackgroundColor(Color.argb(80,80, 80, 80));
//}


//if (convertView == null) {
inflater = LayoutInflater.from(getActivity());
convertView = inflater.inflate(R.layout.shop_item, null);


TextView shop_name = (TextView) convertView.findViewById(R.id.shop_name);
ImageView shoplogo = (ImageView) convertView.findViewById(R.id.shop_logo);
//convertView.setTag(holder);
shop_name.setText(list.get(position));
shoplogo.setBackgroundResource(R.drawable.eleme_sjm);
if (nums.contains(position))
{
convertView = inflater.inflate(R.layout.goods_details, null);
//convertView.setg
TextView cp = (TextView) convertView.findViewById(R.id.cp_root);
cp.setText(list.get(position));
cp.setTextColor(Color.rgb(255,250,250));
convertView.setBackgroundColor(Color.rgb(200, 200, 200));
return convertView;
}else {
return convertView;
}
//}
//
//
//if (mInfo!=null) {
// String shopname= mInfo.getShopname();
//String imageUrl = mInfo.getShoplogo();




}

}
}

兩listview聯動

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.