android - 使用片段时按钮未单击
问题描述
我在一页上使用一个片段。在片段页面中,我有一个表单,它有两个 TextView,它们的作用类似于下拉按钮,然后我有两个 editTextviews 以及工具栏上的一个 Image,应该可以点击进入下一页,但是这些按钮不起作用。我不确定为什么会这样 我的代码如下,在此先感谢
//Fragment1.java
public class Fragment_form1 extends Fragment {
View view;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.activity_all_in_one, container, false);
//view.setClickable(true);
view.setClickable(true);
view.setFocusable(true);
//return super.onCreateView(inflater, container, savedInstanceState);
return view;
}
}
//Main page
next_arrow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Fragment_form1 fragment_form1=new Fragment_form1();
FragmentManager fragmentManager2=getSupportFragmentManager();
fragmentManager2.beginTransaction().replace(R.id.framelayout2,fragment_form1).setCustomAnimations(R.anim.enter_from_right_to_left, R.anim.exit_right_to_left,R.anim.enter_left_to_right, R.anim.exit_left_to_right).commit();
}
});
//activity.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:background="@color/white"
android:orientation="vertical"
android:layout_centerVertical="true"
android:layout_gravity="center"
tools:context="com.myapp.loook.AllInOneActivity">
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/metoolbar1"
android:background="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingRight="20dp"
android:id="@+id/next_again"
android:textColor="@color/blue"
android:clickable="false"
android:src="@drawable/ic_arrow_forward_black_24dp"
android:layout_alignParentRight="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</RelativeLayout>
</androidx.appcompat.widget.Toolbar>
<ScrollView
android:id="@+id/scrollView2"
android:layout_width="0dp"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="@id/metoolbar1"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
>
<LinearLayout
android:id="@+id/form_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:paddingLeft="30dp"
android:paddingRight="30dp"
android:layout_marginTop="80dp"
android:paddingBottom="@dimen/activity_vertical_margin"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginTop="@dimen/place_autocomplete_button_padding"
>
<!--
<TextView
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="16dp"
android:paddingTop="5dp"
android:textColor="@color/black"
android:paddingStart="5dp"
android:text="What are you advertising?"
android:textSize="15sp"
android:textStyle="normal"
/>
-->
<TextView
android:id="@+id/choose"
android:layout_width="match_parent"
android:layout_height="39dp"
android:background="@drawable/et_bg"
android:ems="10"
android:layout_weight="1"
android:focusableInTouchMode="true"
android:paddingStart="15dp"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:textAlignment="textStart"
android:textColor="@color/black"
android:textColorHint="@color/secondary_text"
android:textColorLink="@color/secondary_text"
android:textSize="@dimen/txt_small"
android:drawableEnd="@drawable/ic_arrow_drop_down_black_24dp"
android:layout_marginTop="10dp"
android:hint="Choose a category"
/>
<!--
<TextView
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_marginBottom="5dp"
android:text="URL Link"
android:paddingTop="5dp"
android:layout_marginTop="16dp"
android:paddingStart="5dp"
android:textColor="@color/black"
android:textSize="15sp"
android:textStyle="normal"
/>
-->
<EditText
android:id="@+id/birth"
android:hint="Birth day"
android:inputType="textEmailAddress"
android:layout_width="match_parent"
android:layout_height="39dp"
android:background="@drawable/et_bg"
android:ems="10"
android:layout_weight="1"
android:focusableInTouchMode="true"
android:paddingStart="15dp"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:textAlignment="textStart"
android:textColor="@color/black"
android:textColorHint="@color/secondary_text"
android:textColorLink="@color/secondary_text"
android:textSize="@dimen/txt_small"
android:layout_marginTop="10dp"
/>
<!--
<TextView
android:layout_width="match_parent"
android:layout_height="25dp"
android:layout_marginBottom="5dp"
android:text="Call-To-Action"
android:layout_marginTop="16dp"
android:textColor="@color/black"
android:paddingStart="5dp"
android:paddingTop="5dp"
android:textSize="15sp"
android:textStyle="normal"
/>
-->
<TextView
android:id="@+id/color"
android:hint="Favorite Color"
android:layout_width="match_parent"
android:layout_height="39dp"
android:background="@drawable/et_bg"
android:ems="10"
android:layout_weight="1"
android:focusableInTouchMode="true"
android:paddingStart="15dp"
android:paddingBottom="10dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="10dp"
android:textAlignment="textStart"
android:textColor="@color/black"
android:textColorHint="@color/secondary_text"
android:textColorLink="@color/secondary_text"
android:textSize="@dimen/txt_small"
android:drawableEnd="@drawable/ic_arrow_drop_down_black_24dp"
android:layout_marginTop="10dp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
>
<TextView
android:layout_width="match_parent"
android:text="25/25"
android:textAlignment="textEnd"
android:paddingRight="10dp"
android:textColor="@color/silver"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/inputt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxLength="25"
android:textColor="@color/black"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:background="@drawable/et_bg"
android:hint="Bio"
android:padding="27dp"
android:textSize="@dimen/txt_small"
android:textColorHint="@color/secondary_text"
android:textColorLink="@color/secondary_text"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:textAlignment="center">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:paddingRight="10dp"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Image"
android:textSize="@dimen/txt_medium"
android:textColor="@color/dark_grey"
android:background="@drawable/et_bg"
android:id="@+id/upload_button"
android:padding="37dp"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Photo must be at least 940 x 788px
(recommended)"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="@dimen/txt_small" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/light_blue"
android:text="change photo"
android:textSize="@dimen/txt_small"
android:textStyle="normal"
android:textAlignment="center"
android:paddingStart="25dp"
/>
</LinearLayout>
</LinearLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
解决方案
您应该在 TextView 而不是膨胀的 View 上设置 Clickable 和 Focusable。
所以在你夸大你的观点之后。您应该通过以下方式找到文本视图:
view.findViewById(R.id. next_arrow).setOnClickListener(...)
推荐阅读
- javascript - 如何在 vue 应用中添加亚马逊会员横幅
- javascript - 获取动态添加的选定项目jquery
- javascript - 使用 i18next 本地化静态 HTML(加载本地 json 翻译文件)
- python - 每当有人尝试从 Python 中的特定文件夹复制任何文件时如何记录日志
- python - 从用 hydra.main() 修饰的函数返回配置
- swift - 如何用 PHPickerViewController 中的图像替换 livePhoto?
- python-3.x - Python pre-order to postfix notation reverse Polish notation
- python - 如何使用 BeautifulSoup 获取多个 div 下的 div 元素?
- c# - 从包含数组的对象列表中返回不同的列表
- javascript - 带有 Laravel 8 的 SurveyJs 没有 Larvel-surveyjs 包