安卓常用代码写法

// 1. layout填充。
public View onCreateActionView()
{
    // Inflate the action view to be shown on the action bar.
    //从context拉取填充器,因为填充需要上下文信息。
    LayoutInflater layoutInflater = LayoutInflater.from(mContext);
    View view = layoutInflater.inflate(R.layout.action_provider, null);
    ImageButton button = (ImageButton) view.findViewById(R.id.button);
    button.setOnClickListener( new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // Do something...
        }
    } );

    //然后返回view给对象显示。
    return view;
}

// Fragment中的布局回调函数,这里没用inflater进行填充,
// 而是只要返回一个View就是了。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState)
{
    if (container == null) {
        // We have different layouts, and in one of them this
        // fragment's containing frame doesn't exist.  The fragment
        // may still be created from its saved state, but there is
        // no reason to try to create its view hierarchy because it
        // won't be displayed.  Note this is not needed -- we could
        // just run the code below, where we would create and return
        // the view hierarchy; it would just never be used.
        return null;
    }
 
    ScrollView scroller = new ScrollView(getActivity());
    TextView text = new TextView(getActivity());
    int padding = (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
            4, getActivity().getResources().getDisplayMetrics());
    text.setPadding(padding, padding, padding, padding);
    scroller.addView(text);
    text.setText(Shakespeare.DIALOGUE[getShownIndex()]);
    return scroller;
}

//注意这样得代码容易出错,导致死循环。
int len = 0;
byte[] dataBuffer = new byte[ 1024 ];
while ( true )
{
    //此处如果inS到达了结尾,那么就会是0buffer,导致read一直返回0而没有返回结尾的-1,
	//导致了死循环。
	//byte[] dataBuffer = new byte[ inS.available() ];
	len = inS.read( dataBuffer );
	if( len == -1 )
	{
		break;
	}
	//这里需要显示的写入长度,否则可能写入脏数据。
	outS.write( dataBuffer, 0, len );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值