zoukankan      html  css  js  c++  java
  • LayoutInflater & findViewById

    LayoutInflater是用来找layout下xml布局文件,并且实例化!

    findViewById()是找具体xml下的具体 widget控件.

    什么时候需要用到 LayoutInflater?

    在使用SlidingDrawer的时候,可能会用到,但是鉴于情况比较复杂,现在用一个AlertDialog来进行演示

    当点击一个Button之后,会弹出AlertDialog来,在这个AlertDialog里,使用了自定义的custom.xml布局,

    在custom.xml有一个ImageView ,Button以及TextView

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
     
    <ImageView
     android:layout_width="wrap_content"
       android:layout_height="fill_parent"
       android:id="@+id/imgView"
    />
    <TextView
     android:layout_width="wrap_content"
       android:layout_height="fill_parent"
       android:id="@+id/textView"
    />
    <Button
     android:layout_width="wrap_content"
       android:layout_height="fill_parent"
       android:id="@+id/custom_btn"
       android:text="Click Me"
    />

    </LinearLayout>

    .java代码

    private void showCusomDialog()
        {
         
         AlertDialog.Builder builder;
         final AlertDialog dlg;
         
         Context context = this;
         LayoutInflater inflater = (LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
         View layout = inflater.inflate(R.layout.custom,null);
         TextView textView = (TextView)layout.findViewById(R.id.textView);
         textView.setText("Hello Fuck ");
         
         ImageView imgView = (ImageView)layout.findViewById(R.id.imgView);
         imgView.setImageResource(R.drawable.icon);
         
         builder = new AlertDialog.Builder(context);
         builder.setView(layout);
         dlg = builder.create();
         dlg.show();
         
         Button btn = (Button)layout.findViewById(R.id.custom_btn);
         btn.setOnClickListener(new Button.OnClickListener()
         {
          @Override
          public void onClick(View v )
          {
           Toast.makeText(MainActivity.this, "Fuck YOU",Toast.LENGTH_SHORT).show();
           dlg.dismiss();
          }
         });
         
         
         /*  原来的显示方式
         new AlertDialog.Builder(this)
         .setMessage("what")
         .setTitle("Title")
         .setPositiveButton("", new DialogInterface.OnClickListener()
         {
       
       @Override
       public void onClick(DialogInterface dialog, int which)
       {
        // TODO Auto-generated method stub
        www.aidsex.cn
       }
      }
         )
         .create()
         .show();
         */
        }

  • 相关阅读:
    MiniUI表单验证实践
    MiniUI官方表单验证示例
    MiniUI表单验证总结
    Js-事件分发与DOM事件流
    Windows远程桌面连接的利器-mRemote
    Git 以分支的方式同时管理多个项目
    GIT 如何合并另一个远程Git仓库的文件到本地仓库里某个指定子文件夹并不丢失远程提交记录?
    如何导入另一个 Git库到现有的Git库并保留提交记录
    Total Commander如何设置自定义快捷键在当前目录打开ConEmu
    PHP ECSHOP中 诡异的问题:expects parameter 1 to be double
  • 原文地址:https://www.cnblogs.com/rollrock/p/2356233.html
Copyright © 2011-2022 走看看