zoukankan      html  css  js  c++  java
  • Roboguice学习之视图注入

    Robuguide的使用

    准备工作:

    首先在项目中必须实现GreetingModule和RoboguiceDemoApplication

    GreetingModule.java

    import com.google.inject.AbstractModule;

     

    public class GreetingModule extends AbstractModule {

     

        @Override

        protected void configure() {

        }

     

    }

    RoboguiceDemoApplication.java

    import roboguice.application.RoboApplication;

     

    public class RoboguiceDemoApplication extends RoboApplication{

     

    }

    在values文件夹下必须出现如下文件:

    Roboguice.xml文件中item对应工程中对应的GreetingModule

    <?xml version="1.0" encoding="utf-8"?>

    <resources>

        <string-array name="roboguice_modules">

            <item>com.pstreets.roboguice.demo.GreetingModule</item>

        </string-array>

    </resources>

    视图注入:

    Activity必须继承实现RoboActivity

    Demo如下:

    public class InjectViewDemo extends RoboActivity {

       

        @InjectView (R.id.button) Button goButton;

        @InjectView (R.id.textview1) TextView textView1;

        @InjectView (R.id.textview2) TextView textView2;

        @InjectView (R.id.textview3) TextView textView3;

        @InjectView (R.id.textview4) TextView textView4;

       

        @Override

        public void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         

         setContentView(R.layout.injectview);

             goButton.setOnClickListener(mGoListener);

         }

     

         private OnClickListener mGoListener = new OnClickListener()

         {

             public void onClick(View v)

             {

             textView1.setText("Clicked");

             textView2.setText("Clicked");

             textView3.setText("Clicked");

             textView4.setText("Clicked");

             }

         };

    }

    视图界面:

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout

      xmlns:android="http://schemas.android.com/apk/res/android"

      android:orientation="vertical"

      android:layout_width="match_parent"

      android:layout_height="match_parent">

     

      <TextView 

        android:id="@+id/textview1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/injectview"

        />

       

       <TextView 

        android:id="@+id/textview2"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/injectview"

        />

       

        <TextView 

        android:id="@+id/textview3"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/injectview"

        />

       

        <TextView 

        android:id="@+id/textview4"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="@string/injectview"

        />

       

       <Button android:id="@+id/button"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_gravity="center_vertical"

                android:text="@string/clickmebutton"/>

       

    </LinearLayout>

     

  • 相关阅读:
    How to use django with mod_wsgi ¶
    How to install Apache2 (CentOS 5.4)
    Review Board
    代理
    你的第一个Javascript服务器端程序(一)
    程序员的十层楼(6~7层)
    用你自己的插件扩展jQuery(Extend jQuery with Your Very Own Plugin)
    程序员的十层楼(1~5层)
    C#到Java byte类型冲突的解决
    Hadoop出现allocate memory错误的解决
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/3655761.html
Copyright © 2011-2022 走看看