編輯:關於android開發
大家在網上購物時都有這樣一個體驗,在確認訂單選擇收貨人以及地址時,會跳轉頁面到我們存入網站內的所有收貨信息(包含收貨地址,收貨人)的界面供我們選擇,一旦我們點擊其中某一條信息,則會自動跳轉到訂單提交界面,此時的收貨信息已經變為我們之前選擇的收件信息、
為了實現這個功能,Android提供了一個機制,跳轉到其他activity時,再返回,可以接受到其他activity返回的值,無需再start新的當前activity;下面的示例中,創建兩個activity,其中在MainActivity中提示輸入“您的屬相”,然後單擊TextView“您的屬相”啟動Main2Activity,在Main2Activity中選擇屬相,然後當返回MainActivity時,把之前Main2Activity中選擇的數據原樣返回給MainActivity。實現效果如下圖:

(1)在MainActivity中設置啟動帶結果requestCode的Activity
(2)在MainActivity中設置處理返回結果的方法
(3)在Main2Activity中設置返回結果
1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout 3 xmlns:android="http://schemas.android.com/apk/res/android" 4 xmlns:tools="http://schemas.android.com/tools" 5 android:id="@+id/activity_main" 6 android:layout_width="match_parent" 7 android:layout_height="match_parent" 8 android:orientation="vertical" 9 tools:context="com.example.administrator.testactivity.MainActivity"> 10 <TextView 11 android:id="@+id/tv1" 12 android:layout_width="match_parent" 13 android:layout_height="wrap_content" 14 android:hint="潘侯爺的屬相" 15 android:gravity="center" 16 android:textSize="30sp"/> 17 <Button 18 android:id="@+id/btn1" 19 android:layout_width="wrap_content" 20 android:layout_height="wrap_content" 21 android:layout_gravity="right" 22 android:text="確定"/> 23 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?> 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 xmlns:tools="http://schemas.android.com/tools" 4 android:id="@+id/activity_main2" 5 android:layout_width="match_parent" 6 android:layout_height="match_parent" 7 tools:context="com.example.administrator.day15.Main2Activity"> 8 <ListView 9 android:id="@+id/lv" 10 android:layout_width="match_parent" 11 android:layout_height="match_parent"></ListView> 12 </RelativeLayout>
1 import android.content.Intent;
2 import android.support.v7.app.AppCompatActivity;
3 import android.os.Bundle;
4 import android.view.Gravity;
5 import android.view.View;
6 import android.widget.Button;
7 import android.widget.TextView;
8 import android.widget.Toast;
9 public class MainActivity extends AppCompatActivity {
10 private Button btn1;
11 private TextView tv1;
12 @Override
13 protected void onCreate(Bundle savedInstanceState) {
14 super.onCreate(savedInstanceState);
15 setContentView(R.layout.activity_main);
16 btn1 = (Button) findViewById(R.id.btn1);
17 tv1 = (TextView) findViewById(R.id.tv1);
18 tv1.setClickable(true);
19 tv1.setOnClickListener(new View.OnClickListener() {
20 @Override
21 public void onClick(View v) {
22 Intent intent = new Intent(MainActivity.this, Main2Activity.class);
23 //設置啟動intent以及對應的請求碼
24 startActivityForResult(intent, 2);
25 }
26 });
27 btn1.setOnClickListener(new View.OnClickListener() {
28 @Override
29 public void onClick(View v) {
30 Toast t= Toast.makeText(MainActivity.this, tv1.getText().toString(), Toast.LENGTH_SHORT);
31 t.setGravity(Gravity.TOP,0,0);
32 t.show();
33 }
34 });
35 }
36 @Override
37 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
38 super.onActivityResult(requestCode, resultCode, data);
39 //建議添加邏輯判斷(使請求碼與結果碼配對,確保返回結果是請求碼所請求的)
40 tv1.setText(data.getStringExtra("select"));
41 }
42 }
1 import android.content.Intent;
2 import android.support.v7.app.AppCompatActivity;
3 import android.os.Bundle;
4 import android.view.View;
5 import android.widget.AdapterView;
6 import android.widget.ArrayAdapter;
7 import android.widget.ListView;
8 public class Main2Activity extends AppCompatActivity {
9 private ListView lv;
10 String[] names={"馬","牛","虎","兔","龍"};
11 @Override
12 protected void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.activity_main2);
15 lv = (ListView) findViewById(R.id.lv);
16 //使用ArrayAdapter為ListView每個單元格填充數據
17 ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main2Activity.
18 this,android.R.layout.simple_list_item_single_choice,names);
19 //設置ListView為單選模式
20 lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
21 //為ListView中的每個ITERM設置單擊事件
22 lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
23 @Override
24 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
25 Intent intent =new Intent(Main2Activity.this, MainActivity.class);;
26 //將選中的item對應的信息配上鍵值裝入Extra中供傳遞用
27 intent.putExtra("select",names[position]);
28 //設置3為結果碼
29 setResult(3,intent);
30 finish();//結束當前Activity,返回上一個activity
31 }
32 });
33 lv.setAdapter(adapter);
34 }
35 }
Android基礎入門教程——10.11 傳感器專題(2)——方向傳感器
Android基礎入門教程——10.11 傳感器專題(2)——方向傳感器 Android基礎入門教程——10.11 傳感器專題(2)—
通過JAVA代碼獲取手機的一些基本信息(本機號碼,SDK版本,系統版本,手機型號),javasdk
通過JAVA代碼獲取手機的一些基本信息(本機號碼,SDK版本,系統版本,手機型號),javasdk代碼如下: package com.zzw.getPhoneInfos
Android基礎部分再學習---activity的狀態保存
Android基礎部分再學習---activity的狀態保存 學習Activity的生命周期,我們知道,當Activity進入到paused或者stopped狀態後,這個
android ListView的介紹和優化,androidlistview
android ListView的介紹和優化,androidlistviewxml設計 <?xml version=1.0?> -<RelativeL