片段中的Android按钮setOnClickListener错误

时间:2014-07-28 13:28:59

标签: android android-fragments

我正在尝试在android中处理片段中的按钮,但我在setOnClickListener处遇到错误。该按钮不在片段中,而是在自定义列表视图中。这是我正在使用的代码和xml。

programim_fragment_main.xml:

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

     <ListView
         android:id="@+id/listProgramim"
         android:layout_width="match_parent"
         android:layout_height="370dp"
         android:layout_alignParentLeft="true"
         android:layout_alignParentTop="true" 
         tools:listitem="@layout/list_programim">

listProgramim.xml:

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

 <Button
        android:id="@+id/btnRemove"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_alignParentRight="true"
        android:src="@drawable/iconRemove" />

</RelativeLayout>

Fragment.java

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {

    View rootView = inflater.inflate(R.layout.programim_fragment_main, container, false);

         Button button = (Button) rootView.findViewById(R.id.btnRemove);
           button.setOnClickListener(new OnClickListener()
           {
                     @Override
                     public void onClick(View v)
                     {
                        // do something
                     } 
           });

    lstAdapter.insert(new ListClassProgramim("", 0), 0);

    return rootView;
}

可能导致此错误的原因是什么?

1 个答案:

答案 0 :(得分:0)

您的按钮位于列表项中。在扩充列表项布局时,需要在lstAdapter中处理clicklistener的设置。