【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航_第1頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航_第2頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航_第3頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航_第4頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航

這篇文章將為大家詳細(xì)講解有關(guān)怎么在Android中使用fragment實(shí)現(xiàn)一個左側(cè)導(dǎo)航,文章內(nèi)容質(zhì)量較高,因此在下分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。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,

"這是回調(diào)的點(diǎn)擊事件哦~",

//

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點(diǎn)擊事件

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

}

/**

*

當(dāng)點(diǎn)擊不同id的ViewPage的時候才觸發(fā)

*

*/

@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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論