點(diǎn)擊A頁(yè)面進(jìn)行跳轉(zhuǎn)的時(shí)候,將點(diǎn)擊的listview的position傳給B頁(yè)面;
成都創(chuàng)新互聯(lián)專注于綦江企業(yè)網(wǎng)站建設(shè),自適應(yīng)網(wǎng)站建設(shè),商城網(wǎng)站建設(shè)。綦江網(wǎng)站建設(shè)公司,為綦江等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
當(dāng)點(diǎn)擊B頁(yè)面回到A頁(yè)面時(shí),將這個(gè)position再傳給A;
在A頁(yè)面的onActivityResult中獲取到這個(gè)position;
通過這個(gè)position改變listview對(duì)應(yīng)的數(shù)據(jù)(list或者其他什么),然后aadapter.notifydatasetchanged(),改變對(duì)應(yīng)item的值。
在Android中每個(gè)界面都是一個(gè)Activity,切換界面操作其實(shí)是多個(gè)不同Activity之間的實(shí)例化操作。在Android中Activity的啟動(dòng)模式?jīng)Q定了Activity的啟動(dòng)運(yùn)行方式。
Android總Activity的啟動(dòng)模式分為四種:
Activity啟動(dòng)模式設(shè)置:
activity android:name=".MainActivity" android:launchMode="standard" /
Activity的四種啟動(dòng)模式:
1. standard
模式啟動(dòng)模式,每次激活A(yù)ctivity時(shí)都會(huì)創(chuàng)建Activity,并放入任務(wù)棧中。
2. singleTop
如果在任務(wù)的棧頂正好存在該Activity的實(shí)例, 就重用該實(shí)例,否者就會(huì)創(chuàng)建新的實(shí)例并放入棧頂(即使棧中已經(jīng)存在該Activity實(shí)例,只要不在棧頂,都會(huì)創(chuàng)建實(shí)例)。
3. singleTask
如果在棧中已經(jīng)有該Activity的實(shí)例,就重用該實(shí)例(會(huì)調(diào)用實(shí)例的onNewIntent())。重用時(shí),會(huì)讓該實(shí)例回到棧頂,因此在它上面的實(shí)例將會(huì)被移除棧。如果棧中不存在該實(shí)例,將會(huì)創(chuàng)建新的實(shí)例放入棧中。
4. singleInstance
在一個(gè)新棧中創(chuàng)建該Activity實(shí)例,并讓多個(gè)應(yīng)用共享改棧中的該Activity實(shí)例。一旦改模式的Activity的實(shí)例存在于某個(gè)棧中,任何應(yīng)用再激活改Activity時(shí)都會(huì)重用該棧中的實(shí)例,其效果相當(dāng)于多個(gè)應(yīng)用程序共享一個(gè)應(yīng)用,不管誰(shuí)激活該Activity都會(huì)進(jìn)入同一個(gè)應(yīng)用中。
其中standard是系統(tǒng)默認(rèn)的啟動(dòng)模式。
下面通過實(shí)例來演示standard的運(yùn)行機(jī)制:
1 private TextView text_show;
2 private Button btn_mode;
3
4 @Override
5 public void onCreate(Bundle savedInstanceState) {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.activity_main);
8
9 text_show = (TextView) this.findViewById(R.id.text_show);
10
11 text_show.setText(this.toString());
12
13 btn_mode = (Button) this.findViewById(R.id.btn_mode);
14
15 }
16
//按鈕單擊事件
17 public void LaunchStandard(View v){
18 startActivity(new Intent(this,MainActivity.class));
19
20 text_show.setText(this.toString());
21 }
又個(gè)問題我想確認(rèn)一下,您說的A應(yīng)用是App還是Activity。其實(shí)無論是App還是Activity,Andriod系統(tǒng)對(duì)所有的App都是用隊(duì)列管理的。我想我這么解釋您應(yīng)該就明白了吧。當(dāng)一個(gè)啟動(dòng)會(huì)被放到隊(duì)列的頂部,其他的就會(huì)向后。
1,A跳轉(zhuǎn)到B,使用startactivityforresult跳轉(zhuǎn),給一個(gè)Intent 里面加一個(gè)數(shù)據(jù),第一次沒有數(shù)據(jù)的話肯定就為空了
2,跳轉(zhuǎn)到B,獲得A傳過來的數(shù)據(jù),判斷是否為空,為空button顯示。
3,返回A,攜帶數(shù)據(jù),將數(shù)據(jù)傳入第1步中得intent,這時(shí)候有數(shù)據(jù)傳入就不為空了。
4,跳轉(zhuǎn)到B,獲取A傳遞過來的數(shù)據(jù),判斷是否為空,這時(shí)候,有數(shù)據(jù)傳遞,不為空,隱藏button
在android手機(jī)中,當(dāng)處于模塊一狀態(tài)時(shí),用戶觸摸到“查看按鈕”,a標(biāo)簽的邊框顯示出來,這明顯不是我們要想要的體驗(yàn)。
最后跟產(chǎn)品經(jīng)理溝通后,針對(duì)android手機(jī)去除上圖的按鈕邊框,那么如何去除android手機(jī)自帶的按鈕邊框呢?
在搜索引擎中找到資料-webkit-tap-highlight-color可以去除邊框,如下圖:
排除誤解
網(wǎng)絡(luò)資料說這個(gè)屬性只用于iOS(iPhone和iPad),其實(shí)是錯(cuò)誤的,android手機(jī)大部分也是支持的,只是顯示效果不一樣,移動(dòng)開發(fā)并不成熟,更多的還需要大家去實(shí)踐來辨別真?zhèn)? -
-webkit-tap-highlight-color用法
webkit內(nèi)核的瀏覽器,當(dāng)用戶點(diǎn)擊一個(gè)鏈接或者通過js定義的可點(diǎn)擊元素的時(shí)候,會(huì)出現(xiàn)一個(gè)半透明的灰色背景或者紅色的邊框。
如果想要禁用高亮,可設(shè)置顏色的alpha值為0,也就是屬性值的最后一位設(shè)置為0就可以去除背景或者邊框。
去除android鏈接觸摸時(shí)產(chǎn)生邊框的css代碼
a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0);}/* 1.去除android a/button/input標(biāo)簽被點(diǎn)擊時(shí)產(chǎn)生的邊框 2.去除ios a標(biāo)簽被點(diǎn)擊時(shí)產(chǎn)生的半透明灰色背景 */
轉(zhuǎn)載