Android學習筆記(建立Menu,Intent的使用)
//Test1.java
package com.activitytest.testactivity2;
import android.app.Activity;
import android.app.IntentService;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.Toast;
/**
* Intent用於連線Activity,以及Activity之間傳遞資料(從活動之間切換顯示資訊)
* 還可用於傳送廣播、服務等場景
*/
public class Test1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState); //初始化元件
requestWindowFeature(Window.FEATURE_NO_TITLE); //隱藏清單檔案中定義的標題欄label,要在顯示檢視之前使用
setContentView(R.layout.first_layout); //在介面中載入佈局檔案
Button button1 = (Button)findViewById(R.id.button_1); //id尋找View
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v)//點選按鈕就會執行此方法;
{
//Toast類用於將一些短小的資訊通知給客戶,一段時間後會消失,並且不會佔用任何的螢幕空間。
//makeText()為靜態方法,第一個引數是Context抽象類,它是Activity等的父類,而Test1類直接繼承
//了Activity類,所以直接使用子類的物件向上轉型傳入引數,第三個引數是Toast顯示的時長
//Toast.makeText(Test1.this,"You clicked Button 1", Toast.LENGTH_SHORT).show();
//finish(); //銷燬活動
//下面使用Intent,以Test1活動作為上下文,通過按鈕Button 1啟動SecondActivity
//以下是顯式Intent的使用
// Intent intent=new Intent(Test1.this,SecondActivity.class); //Intent(Context packageContext, Class<?> cls) ,
//第一個參數列示以Test1活動作為上下文,在Tes1活動的基礎上(點選Button 1後)開啟SecondAcivity活動
//startActivity(intent);//啟動Intent
//以下是隱式Intent的使用:
//先在清單檔案中intent-filter中新增action和category標籤定義android:name的內容,然後在java檔案中
//使用intent的有參建構函式傳入action的內容,使用Intent類的addCategory()方法傳入category的內容可以新增category
//但是需要在清單檔案中加入此category
Intent intent = new Intent("com.activitytest.testactivity2.ACTION_START");
intent.addCategory("com.activitytest.testactivity2.MY_CATEGORY");
startActivity(intent);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) //每一個Activity只有唯一一個Menu,建立選單時會觸發函式
{//第一次初始化選單例項時呼叫inflate方法
getMenuInflater().inflate(R.menu.main,menu);//引數:建立選單的檔案,選單Menu的物件
return true; //返回true表示允許建立的選單能夠顯示出來,
}
@Override
public boolean onOptionsItemSelected(MenuItem item) //讓選單的item選項響應事件,點選item就會自動執行此方法,所以要進行過載
{
switch(item.getItemId()) //每個item都有自己的id
{
case R.id.add_item:
Toast.makeText(this,"You clicked Add",Toast.LENGTH_SHORT).show(); //Menuitem類的item物件
break;
case R.id.remove_item:
Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show();
break;
default:
}
return true; //true表示該方法執行完畢後,點選事件不會再向下一個事件處理方法傳遞了
}
}
menu資料夾下的main.xml檔案:
<!--res/menu/main.xml-->
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_item"
android:title="Add" />
<item android:id="@+id/remove_item"
android:title="Remove" />
</menu>
//SecondActivity.java
package com.activitytest.testactivity2;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
/**
* 先在second_layout.xml中定義一個按鈕,然後在java檔案中呼叫setConteneView方法實現引入此檔案作為引數
* 最後要在Manifest.xml中對此活動檔案進行註冊
*/
public class SecondActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE); //隱藏標題欄
setContentView(R.layout.second_layout);
}
}
<!--AndroidManifest.xml清單註冊檔案-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.activitytest.testactivity2">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".Test1"
android:label="This is Test1 activity">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:name=".SecondActivity">
<intent-filter>
<action android:name="com.activitytest.testactivity2.ACTION_START"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="com.activitytest.testactivity2.MY_CATEGORY"/>
</intent-filter>
</activity>
</application>
</manifest>
<!--layout/first_layout.xml-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/button_1"
android:text="Button 1"/>
</LinearLayout>
<!--layout/second_layout.xml-->
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/button_2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button 2" />
</LinearLayout>
相關文章
- Android學習筆記02——Intent的使用Android筆記Intent
- Android學習筆記之IntentAndroid筆記Intent
- android學習筆記之Intent與BroadcastReceiverAndroid筆記IntentAST
- 【筆記】【Android】Manifest中的intent-filter使用筆記AndroidIntentFilter
- Android學習筆記06——handler的使用Android筆記
- GUI_PICTURE以及context_menu學習筆記GUIContext筆記
- Android 學習筆記四:建立工具欄按鈕Android筆記
- android基礎學習-android篇day16-Menu的使用Android
- android的Menu使用Android
- Android程式設計權威指南(第二版)學習筆記(十六)—— 第16章 使用 intent 拍照Android程式設計筆記Intent
- Android 學習筆記雜記Android筆記
- 使用 seed 命令建立模擬資料(學習筆記)筆記
- RMAN學習筆記_ Duplicate建立DataGuard筆記
- Android學習筆記·ANRAndroid筆記
- Android學習筆記·HandlerAndroid筆記
- Android SQLite學習筆記AndroidSQLite筆記
- Android學習筆記一Android筆記
- Android學習筆記(6)Android筆記
- Android學習筆記(3)Android筆記
- Android學習筆記(4)Android筆記
- Android學習筆記(5)Android筆記
- Android學習筆記(2)Android筆記
- Android學習筆記(1)Android筆記
- Android學習筆記(8)Android筆記
- Android學習筆記(7)Android筆記
- Android GC 學習筆記AndroidGC筆記
- android學習筆記--ScannerAndroid筆記
- android學習筆記--AlarmManagerAndroid筆記
- android學習筆記二Android筆記
- android學習筆記三Android筆記
- Android學習筆記四Android筆記
- android學習筆記五Android筆記
- android學習筆記六Android筆記
- Android OpenGL 學習筆記Android筆記
- Customize "share picture via" menu on Android (Android Intent Filters) eggie5.comAndroidIntentFilter
- 【C++學習筆記】使用new建立動態結構C++筆記
- Android學習筆記14-從原始碼分析Toast的建立過程Android筆記原始碼AST
- 【JavaScript學習筆記】if使用JavaScript筆記