Android学习(5)电话拨号器

观看的视频《8天快速掌握Android视频》

其是基于android 2.2的框架编写,只有一个activity_main,而我现有的开发环境是Android 4.4.2,有activity_main和fragment_main,如下图:




类似MFC中,如果有两个对话框资源文件,那么就要对应两个对话框类,一个对话框类不能加载两个资源文件。而是通过A包含B对话框类,来调用B对话框的资源,即UI.



代码:

MainActivity

package com.lawrence.phone;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

import com.lawrence.sons.PlaceholderFragment;


public class MineActivity extends ActionBarActivity {

	private PlaceholderFragment mPlaceholderFragment;
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mine);
        
        mPlaceholderFragment = new PlaceholderFragment();

        //将Fragment添加到main中,但是还是以子View的形式存在,main中无法访问到Fragment中的控件
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, mPlaceholderFragment)
                    .commit();
        } 
        
    }
    
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        setContentView(R.layout.activity_mine);       
//        
//
//        //将Fragment添加到main中,但是还是以子View的形式存在,main中无法访问到Fragment中的控件
//        if (savedInstanceState == null) {
//            getSupportFragmentManager().beginTransaction()
//                    .add(R.id.container, new PlaceholderFragment())
//                    .commit();
//        }
//        
//        //Todo  
//        //切记:此处访问到Fragment中的控件
//        mButton = (Button)findViewById(R.id.makecall);
//        mMobileText = (EditText)findViewById(R.id.phonenumber);      
//        mButton.setOnClickListener(new ButtonOnClickListener());  
//        
//    }
    
    


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.mine, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }    

}


FramentActivity

package com.lawrence.sons;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;

import com.lawrence.phone.R;


/**
 * A placeholder fragment containing a simple view.
 */
public class PlaceholderFragment extends Fragment {

    public PlaceholderFragment() {
    }

    private Button mButton;
    private EditText mMobileText;
    
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
    	//将Fragment布局填充到Fragment View中
        View rootView = inflater.inflate(R.layout.fragment_mine, container, false);
        
        //Todo
        
        mButton = (Button)rootView.findViewById(R.id.makecall);
        mMobileText = (EditText)rootView.findViewById(R.id.phonenumber);      
        mButton.setOnClickListener(new ButtonOnClickListener());  
        
        return rootView;
    }
    
  //点击事件内部类
    private final class ButtonOnClickListener implements View.OnClickListener{

		@Override
		public void onClick(View arg0)
		{
			// TODO Auto-generated method stub			
			String number = mMobileText.getText().toString();
			
			//intent 意图:你想干的事情
			//首先构建这个意图intent
			Intent intent = new Intent();
			//行为
			intent.setAction("android.intent.action.CALL");
			//类别
//			intent.addCategory("android.intent.category.DEFAULT");
			//数据
			intent.setData(Uri.parse("tel:" + number));
			//将意图发送给系统,让系统去寻找该意图匹配的Activity
			startActivity(intent);	//方法内部会自动为intent添加类别:"android.intent.category.DEFAULT",所以addCategory
			
		}
    	
    }
}

附件

链接:http://pan.baidu.com/s/1hq3WTDU 密码:0u1w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值