LayoutInflater的使用


    LayoutInflater的使用,在实际开发种LayoutInflater这个类还是非常有用的,它的作用类似于 findViewById(),不同点是LayoutInflater是用来找layout下xml布局文件,并且实例化!而findViewById()是找具体xml下的具体 widget控件(如:Button,TextView等)。

public class LayoutInflaterDemo extends Activity implements 
OnClickListener {
    
	private Button button;
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        button = (Button)findViewById(R.id.button);
        button.setOnClickListener(this);
    }
	@Override
	public void onClick(View v) {
		
		showCustomDialog();
	}
	
	public void showCustomDialog()
	{
		AlertDialog.Builder builder;
		AlertDialog alertDialog;
		Context mContext = LayoutInflaterDemo.this;
		
		//下面俩种方法都可以
		////LayoutInflater inflater = getLayoutInflater();
		LayoutInflater inflater = (LayoutInflater) 
mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
		View layout = inflater.inflate(R.layout.custom_dialog,null);
		TextView text = (TextView) layout.findViewById(R.id.text);
		text.setText("Hello, Welcome to Mr Wei's blog!");
		ImageView image = (ImageView) layout.findViewById(R.id.image);
		image.setImageResource(R.drawable.icon);
		builder = new AlertDialog.Builder(mContext);
		builder.setView(layout);
		alertDialog = builder.create();
		alertDialog.show();
	}
}

猜你喜欢

转载自yaoming168.iteye.com/blog/1723131