转载自:https://blog.csdn.net/waqdon/article/details/42171409?utm_source=blogxgwz5

感谢博主分享!

主Activity代码MainActivity.java

/**

*

* @author qdwang

*

*/

public class MainActivity extends FragmentActivity implements

OnItemClickListener {

private String[] strs = { "常用分类", "服饰内衣", "鞋靴", "手机", "家用电器", "数码", "电脑办公",

"个护化妆", "图书" };

private ListView listView;

private MyAdapter adapter;

private MyFragment myFragment;

public static int mPosition;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

initView();

}

/**

* 初始化view

*/

private void initView() {

// TODO Auto-generated method stub

listView = (ListView) findViewById(R.id.listview);

adapter = new MyAdapter(this, strs);

listView.setAdapter(adapter);

listView.setOnItemClickListener(this);

//创建MyFragment对象

myFragment = new MyFragment();

FragmentTransaction fragmentTransaction = getSupportFragmentManager()

.beginTransaction();

fragmentTransaction.replace(R.id.fragment_container, myFragment);

//通过bundle传值给MyFragment

Bundle bundle = new Bundle();

bundle.putString(MyFragment.TAG, strs[mPosition]);

myFragment.setArguments(bundle);

fragmentTransaction.commit();

}

@Override

public void onItemClick(AdapterView> parent, View view, int position,

long id) {

// TODO Auto-generated method stub

//拿到当前位置

mPosition = position;

//即使刷新adapter

adapter.notifyDataSetChanged();

for (int i = 0; i < strs.length; i++) {

myFragment = new MyFragment();

FragmentTransaction fragmentTransaction = getSupportFragmentManager()

.beginTransaction();

fragmentTransaction.replace(R.id.fragment_container, myFragment);

Bundle bundle = new Bundle();

bundle.putString(MyFragment.TAG, strs[position]);

myFragment.setArguments(bundle);

fragmentTransaction.commit();

}

}

}

adapter部分代码 MyAdapter.java

public class MyAdapter extends BaseAdapter {

private Context context;

private String[] strings;

public static int mPosition;

public MyAdapter(Context context, String[] strings){

this.context =context;

this.strings = strings;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return strings.length;

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return strings[position];

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

convertView = LayoutInflater.from(context).inflate(R.layout.listview_item, null);

TextView tv = (TextView) convertView.findViewById(R.id.tv);

mPosition = position;

tv.setText(strings[position]);

if (position == MainActivity.mPosition) {

convertView.setBackgroundResource(R.drawable.tongcheng_all_bg01);

} else {

convertView.setBackgroundColor(Color.parseColor("#f4f4f4"));

}

return convertView;

}

}

fragment部分代码MyFragment.java

public class MyFragment extends Fragment {

public static final String TAG = "MyFragment";

private String str;

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

View view = inflater.inflate(R.layout.myfragment, null);

TextView tv_title = (TextView) view.findViewById(R.id.tv_title);

//得到数据

str = getArguments().getString(TAG);

tv_title.setText(str);

return view;

}

}

还有xml部分代码

activity_main.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:id="@+id/jzfw_top_layout"

android:layout_width="match_parent"

android:layout_height="42dp"

android:background="@drawable/home_title"

android:gravity="center_vertical" >

android:id="@+id/jzfw_top_layout_02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:text="仿京东分类"

android:textColor="#ffffff"

android:textSize="20sp" />

android:layout_width="match_parent"

android:layout_height="1dp"

android:background="#cdcdcd" />

android:layout_width="match_parent"

android:layout_height="40dp"

android:background="#ededed"

android:gravity="center"

android:text="全部分类"

android:textColor="#333333"

android:textSize="17sp" />

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#fbfbfb"

android:orientation="horizontal" >

android:id="@+id/listview"

android:layout_width="0dp"

android:layout_height="match_parent"

android:scrollbars="none"

android:layout_weight="1.0"

android:background="#f4f4f4" />

android:layout_width="1dp"

android:layout_height="match_parent"

android:background="#cdcdcd" />

android:id="@+id/fragment_container"

android:layout_width="0dp"

android:layout_height="match_parent"

android:layout_weight="3.0" />

---------------------

作者:waqdon

来源:CSDN

原文:https://blog.csdn.net/waqdon/article/details/42171409

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐