如何使用当前视图以外的布局中的按钮?

时间:2014-12-03 22:11:20

标签: java android-layout android-activity

我有两个布局文件用于填充ListActivity, 这是主要的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TextView
    android:id="@+id/pack_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="33dp"
    android:layout_marginTop="26dp"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

这是一个简单的textView,我的其他布局是

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<Button
    android:id="@+id/done"
    android:layout_width="match_parent"

    android:layout_height="wrap_content"
    android:text="Done" />

这只是我用于标题的按钮。我的适配器膨胀第一个布局。  ,如何在其他布局中访问我的按钮并实现setonClickListener

所以我现在添加了充气机:

LayoutInflater mInflater = (LayoutInflater) getApplicationContext().getSystemService(getApplicationContext().LAYOUT_INFLATER_SERVICE);
View r = mInflater.inflate(R.layout.button,null,false);




done = (Button)findViewById(R.id.done);`

done.setOnClickListener(new OnClickListener() {
        @Override
    public void onClick(View v) {
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_SHORT).show();    

}
        });

当我点击按钮时没有任何反应。

1 个答案:

答案 0 :(得分:0)

如果它是XML资源的一部分,您可以使用Inflater,但是如文档中所述;这可能是一个昂贵的电话。如果是我,我会使用java动态地向您的内容视图添加视图。