




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級下冊數(shù)學(xué)教案-4.1 容積|北師大版
- 2025年機(jī)動車典當(dāng)合同
- 六年級上冊數(shù)學(xué)教案-總復(fù)習(xí) 你會算嗎-求陰影部分的面積|北師大版
- 2025年科研合作協(xié)議
- 第四單元驕人祖先 燦爛文化整體教學(xué)設(shè)計-2024-2025學(xué)年道德與法治五年級上冊統(tǒng)編版
- Unit 3 I'm more outgoing than my sister. SectionB 1a-1e教學(xué)設(shè)計2024-2025學(xué)年人教版英語八年級上冊
- 2025年湖北三峽職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫匯編
- 2024年全腦開發(fā)項(xiàng)目資金申請報告代可行性研究報告
- 2025年嘉興南洋職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫完整
- 2025年共青科技職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫完整版
- 高二數(shù)學(xué)(含創(chuàng)意快閃特效)-【開學(xué)第一課】2023年高中秋季開學(xué)指南之愛上數(shù)學(xué)課
- 《學(xué)前兒童社會教育》學(xué)前兒童社會教育概述-pp課件
- 全國醫(yī)學(xué)英語統(tǒng)考醫(yī)學(xué)英語詞匯表
- 【品牌建設(shè)研究國內(nèi)外文獻(xiàn)綜述5000字】
- 國家電網(wǎng)公司電力安全工作規(guī)程(電力通信部分)(試行)
- 第八版-精神分裂癥及其他精神病性障礙(中文)
- 小學(xué)一年級新生報名登記表
- 生態(tài)毒理學(xué)第三章毒物的分子效應(yīng)與毒理學(xué)機(jī)制
- 智能財務(wù)共享在京東的應(yīng)用研究
- 衛(wèi)生和微生物基礎(chǔ)知識培訓(xùn)-
- 2023年鎮(zhèn)江市高等??茖W(xué)校單招綜合素質(zhì)題庫及答案解析
評論
0/150
提交評論