0

我已经创建了一个 android 应用程序,它在布局内部有过渡动作,这是布局

<?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"
    android:background="@drawable/bg_register"
    android:orientation="vertical"
    android:id="@+id/parent_linear_layout" >


    <ViewFlipper
        android:id="@+id/home_screen_flipper"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >

        <include
            android:id="@+id/home_screen_index_layout"
            layout="@layout/home_screen_index"

             />

        <include
            android:id="@+id/home_screen_recover_layout"
            layout="@layout/home_screen_recover" />

        <include
            android:id="@+id/home_screen_register_layout"
            layout="@layout/home_screen_register" />


    </ViewFlipper>

在 thr 中,我使用标签包含了其他相关布局。我已经清楚地进行了开发。

该布局已加载到 HomeScreen.java 活动类中但现在我想在 home_screen_register_layout 中调用按钮操作,但它应该位于不在 HomeScreen.java 中的不同类中是否可以将布局连接到类并检测其中的操作特定的类。

这样做的目的是最小化 HomeScreen.java 类中的代码

4

2 回答 2

0

由于您想在单独的抽象类中定义按钮单击方法,我建议您通过扩展 Activity 类来定义一个基类,然后将该 BaseActivity 类扩展到您的 HomeScreen 类。这样,您的 HomeScreen 就可以从该 BaseActivity 类访问方法。

例如:

BaseActivity.java

在 BaseActivity 类中包含所有按钮单击方法。

abstract public class BaseActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

        /**
         OK button click
        **/
        public void btnOkClick(View v)
        {
        }

        /**
         Display button click
        **/
        public void btnDisplayClick(View v)
        {
        }
}

HomeScreen.java

public class HomeScreen extends BaseActivity {
        @Override
    public void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout_home_screen);


    }
}
于 2013-05-08T11:06:37.310 回答
0

这是在 ViewFlipper 中添加多个视图的最佳方式

 private View viewText;
 private View viewImage;
 private void setViewFlipperPost(String postType) {

     if (postType.toLowerCase().toString().equals("text")) {

            viewText = LayoutInflater.from(mContext).inflate(R.layout.activity_full_screen_textpost, null, false);
            viewText.setTag(TAG_TEXT);
            viewFlipper.addView(viewText);

    } else  if (postType.toLowerCase().toString().equals("image")) {

            viewImage = LayoutInflater.from(mContext).inflate(R.layout.layoutViewImage, null, false);
            imgView.setTag(TAG_IMAGE);
            viewFlipper.addView(viewImage);
    }
}
于 2016-09-21T20:16:15.147 回答