【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航_第1页
【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航_第2页
【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航_第3页
【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航_第4页
【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】怎么在Android中使用fragment实现一个左侧导航

这篇文章将为大家详细讲解有关怎么在Android中使用fragment实现一个左侧导航,文章内容质量较高,因此在下分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。MainActivity.javapublic

class

MainActivity

extends

FragmentActivity

{

//

private

Handler

handler;

private

ViewPager

fragmentViewPager;

private

ListView

leftListView;

private

List<Fragment>

fragmentlist;

private

Fragment1

fragment1;

private

Fragment2

fragment2;

private

ArrayList<String>

leftlist

=

new

ArrayList<String>();//

left

list

private

ListAdapter

listAdapter

=

null;

@Override

protected

void

onCreate(Bundle

savedInstanceState)

{

//

TODO

Auto-generated

method

stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

fragmentViewPager

=

(ViewPager)

findViewById(R.id.fragmentViewPager);

leftListView

=

(ListView)

findViewById(R.id.leftListView);

initDatas();//

left初始化。

initDatasViewPager();

//

aTextViewCallBack

back

=

(aTextViewCallBack)

//

findViewById(R.id.aTextViewCallBack);

//

back.setCalBack(new

calBack()

{

//

@Override

//

public

void

onclick()

{

//

//

TODO

Auto-generated

method

stub

//

Toast.makeText(MainActivity.this,

"这是回调的点击事件哦~",

//

Toast.LENGTH_LONG).show();

//

}

//

});

//

//

new

Thread(new

Runnable()

{

//

//

@Override

//

public

void

run()

{

//

//

TODO

Auto-generated

method

stub

//

String

str

=

"/";

//

String

st

=

getHtmlByURL.getHtmlByURL(str);

//

Message

msg

=

handler.obtainMessage(0,st);

//

handler.sendMessage(msg);

//

}

//

}).start();

//

handler

=

new

Handler()

{

//

public

void

handleMessage(Message

msg)

{

//

super.handleMessage(msg);

//

String

x

=

msg.obj.toString();

//

Log.i("GEtHtml",

x);

//

};

//

};

}

public

void

initDatas()

{

for

(int

i

=

0;

i

<

5;

i++)

{

leftlist.add("第"

+

i

+

"个");

Log.i("65",

leftlist.get(i).toString());

}

ArrayList<ButtonView>

buttonListView

=

new

ArrayList<ButtonView>();

ButtonView

a

=

new

ButtonView(R.string.pay_name_weixin);

buttonListView.add(a);

ButtonView

b

=

new

ButtonView(R.string.pay_name_alipay);

buttonListView.add(b);

listAdapter

=

new

ListAdapter(buttonListView);

leftListView.setAdapter(listAdapter);

leftListView.setDividerHeight(0);

//

listview点击事件

leftListView.setOnItemClickListener(new

OnItemClickListener()

{

@Override

public

void

onItemClick(AdapterView<?>

parent,

View

view,

int

position,

long

id)

{

Log.e("tag",

Integer.toString(position));

//

TODO

Auto-generated

method

stub

listAdapter.setSelectedPosition(position);

listAdapter.notifyDataSetInvalidated();

if

(position

%

2

==

1)

{

fragmentViewPager.setCurrentItem(1);

}else{

fragmentViewPager.setCurrentItem(0);

}

}

});

}

public

void

initDatasViewPager()

{

fragmentlist

=

new

ArrayList<Fragment>();

fragment1

=

new

Fragment1();//

fragment2

=

new

Fragment2();//

fragmentlist.add(fragment1);

fragmentlist.add(fragment2);

fragmentViewPager.setAdapter(new

FragmentAdapter(

getSupportFragmentManager(),

fragmentlist,

this));

fragmentViewPager.setOnPageChangeListener(new

MyOnPageChangeListener());

}

//

set

OnPageChangeListener

in

inner

class

class

MyOnPageChangeListener

implements

OnPageChangeListener

{

@Override

public

void

onPageScrollStateChanged(int

arg0)

{

//

TODO

Auto-generated

method

stub

}

@Override

public

void

onPageScrolled(int

arg0,

float

arg1,

int

arg2)

{

//

TODO

Auto-generated

method

stub

}

/**

*

当点击不同id的ViewPage的时候才触发

*

*/

@Override

public

void

onPageSelected(int

arg0)

{

Log.e("tag1",

Integer.toString(arg0));

switch

(arg0)

{

case

0:

break;

case

1:

break;

case

2:

break;

}

}

}

public

class

ListAdapter

extends

BaseAdapter

{

ArrayList<ButtonView>

arrayList

=

null;

LayoutInflater

inflater;

View

view;

ButtonLayoutHolder

buttonLayoutHolder;

LinearLayout

buttonLayout

=

null;

TextView

buttonText

=

null;

private

int

selectedPosition

=

-1;//

选中的位置

public

ListAdapter(ArrayList<ButtonView>

buttonListView)

{

//

TODO

Auto-generated

constructor

stub

arrayList

=

buttonListView;

}

@Override

public

int

getCount()

{

//

TODO

Auto-generated

method

stub

return

arrayList.size();

}

@Override

public

Object

getItem(int

position)

{

//

TODO

Auto-generated

method

stub

return

arrayList.get(position);

}

@Override

public

long

getItemId(int

position)

{

//

TODO

Auto-generated

method

stub

return

position;

}

public

void

setSelectedPosition(int

position)

{

selectedPosition

=

position;

}

@Override

public

View

getView(int

position,

View

convertView,

ViewGroup

parent)

{

//

TODO

Auto-generated

method

stub

inflater

=

(LayoutInflater)

getSystemService(Context.LAYOUT_INFLATER_SERVICE);

view

=

inflater.inflate(R.layout.button_layout,

null,

false);

buttonLayoutHolder

=

(ButtonLayoutHolder)

view.getTag();

if

(buttonLayoutHolder

==

null)

{

buttonLayoutHolder

=

new

ButtonLayoutHolder();

buttonLayoutHolder.buttonLayout

=

(LinearLayout)

view

.findViewById(R.id.LinearLayoutButton);

buttonLayoutHolder.textView

=

(TextView)

view

.findViewById(R.id.TextViewButton);

view.setTag(buttonLayoutHolder);

}

buttonLayout

=

buttonLayoutHolder.buttonLayout;

buttonText

=

buttonLayoutHolder.textView;

if

(selectedPosition

==

position)

{

buttonText.setSelected(true);

buttonText.setPressed(true);

buttonLayout.setBackgroundColor(Color.parseColor("#e4e8e9"));

buttonText.setTextColor(Color.BLUE);

}

else

{

buttonText.setSelected(false);

buttonText.setPressed(false);

buttonLayout.setBackgroundColor(Color.parseColor("#2f4471"));

buttonText.setTextColor(Color.WHITE);

}

buttonText.setHeight(40);

buttonText.setText(arrayList.get(position).textViewId);

return

view;

}

};

}

class

ButtonView

{

int

textViewId;

ButtonView(int

tId)

{

textViewId

=

tId;

}

}

class

ButtonLayoutHolder

{

LinearLayout

buttonLayout;

TextView

textView;

}

FragmentAdapter.java

[java]

view

plain

copy

public

class

FragmentAdapter

extends

FragmentPagerAdapter{

private

List<Fragment>

listmVp;

private

Context

context;

public

FragmentAdapter(FragmentManager

fm,

List<Fragment>

listmVp,Context

context)

{

super(fm);

this.listmVp

=

listmVp;

this.context

=

context;

}

@Override

public

int

getCount()

{

//

TODO

Auto-generated

method

stub

return

listmVp.size();

}

@Override

public

Fragment

getItem(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论