我在textviews
中有三个Activity
并且要识别哪个textview
被按下我正在使用下面的方法并相应地设置微调器的值,但是活动无法识别此方法。
我尝试了很多方法,但没有弄错。需要帮忙
当我点击textview
应用程序崩溃并且日志显示此错误
java.lang.IllegalStateException:找不到方法 onClick_leave(View)在父或祖先的上下文中 android:在视图类上定义的onClick属性 android.support.v7.widget.AppCompatTextView,id为'pl'
这是我的代码:
public void onClick_leave(View v) {
if (v.getId() == R.id.cl) {
Intent intent = new Intent(getActivity(), ApplyLeave.class);
int leave = 0;
intent.putExtra("leave", leave);
startActivity(intent);
} else if (v.getId() == R.id.pl) {
Intent intent = new Intent(getActivity(), ApplyLeave.class);
int leave = 1;
intent.putExtra("leave", leave);
startActivity(intent);
} else if (v.getId() == R.id.sl) {
Intent intent = new Intent(getActivity(), ApplyLeave.class);
int leave = 2;
intent.putExtra("leave", leave);
startActivity(intent);
} else if (v.getId() == R.id.edit_menu) {
Intent intent = new Intent(getActivity(), ApplyLeave.class);
startActivity(intent);
}
}
xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
xmlns:design="http://schemas.android.com/apk/res-auto"
tools:context="com.example.axay.o2hleave.Main2Activity">
<LinearLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="80dp"
android:orientation="horizontal"
android:layout_marginTop="14dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:weightSum="1">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/o2hOne"
android:orientation="vertical"
android:clipToPadding="false"
android:layout_marginLeft="8dp"
android:layout_marginRight="5dp"
android:layout_weight="0.2">
<TextView
android:id="@+id/cl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/o2hOne"
android:gravity="center"
android:onClick="onClick_leave"
android:padding="5dp"
android:text="7"
android:textColor="@color/o2htextOne"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Casual Leave"
android:elevation="15dp"
android:textSize="15sp"
android:padding="5dp"
android:layout_gravity="center"
android:textColor="@color/o2htextOne"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/o2hforth"
android:orientation="vertical"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:elevation="6dp">
<TextView
android:id="@+id/pl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/o2hforth"
android:elevation="6dp"
android:gravity="center"
android:onClick="onClick_leave"
android:padding="5dp"
android:text="21"
android:textColor="@color/o2htextOne"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:padding="5dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Personal Leave"
android:elevation="5dp"
android:textSize="15sp"
android:layout_gravity="center"
android:textColor="@color/o2htextOne"/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/o2hfifth"
android:orientation="vertical"
android:layout_marginLeft="5dp"
android:layout_marginRight="1dp"
android:elevation="6dp"
android:layout_weight="0.60">
<TextView
android:id="@+id/sl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@color/o2hfifth"
android:elevation="6dp"
android:gravity="center"
android:onClick="onClick_leave"
android:padding="5dp"
android:text=""
android:textColor="@color/o2htextOne"
android:textSize="30sp"
android:textStyle="bold" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Sick Leave"
android:textSize="15sp"
android:padding="5dp"
android:gravity="center"
android:layout_gravity="center"
android:textColor="@color/o2htextOne"/>
</LinearLayout>
</LinearLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/frame_layout"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textStyle="bold"
android:padding="7dp"
android:textSize="16sp"
android:text=" Leave Requests"
/>
<TextView
android:id="@+id/no_leave_request"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textStyle="bold"
android:textSize="20sp"
android:padding="40dp"
android:visibility="gone"
android:drawableRight="@drawable/sad"
android:text="You Have no Leave Requests"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView_LeaveRequests"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp">
</android.support.v7.widget.RecyclerView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=" Approval Pending Leaves"
android:padding="7dp"
android:textAlignment="center"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/no_pending_leaves"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textStyle="bold"
android:textSize="20sp"
android:padding="40dp"
android:visibility="gone"
android:drawableRight="@drawable/sad"
android:text="You Have no Pending leaves"
/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView_PendingLeaves"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="2dp"
>
</android.support.v7.widget.RecyclerView>
</LinearLayout>
</ScrollView>
</RelativeLayout>
答案 0 :(得分:-1)
您应该使用setOnClickListener
。
注册单击此视图时要调用的回调。如果这 视图不可点击,它变得可点击。
firstButtonOBJ = (Button) findViewById(R.id.buttonOne); //Global
firstButtonOBJ.setOnClickListener(this);
secondButtonOBJ = (Button) findViewById(R.id.buttonTwo);
secondButtonOBJ.setOnClickListener(this);
// onClick is called when a view has been clicked.
@Override
public void onClick(View v)
{
// Parameter v stands for the view that was clicked.
// getId() returns this view's identifier.
if(v.getId() == R.id.buttonOne)
{
// Your Work
}
else if(v.getId() == R.id.buttonTwo)
{
// Your Work
}
}