我制作了一些包含Textviews的片段。 2 Textviews只是Textviews,其他是可滚动的Textviews。 我在MainActivity上使用了片段。 我希望片段的整个区域是可点击的。 但是,如果我单击可滚动的Textviews区域,它就不起作用了。 当我单击不可滚动的Textviews时,它可以工作。 为什么我不能点击它们?
以下是我的代码的一部分。
1。 fragment.xml之
<TextView
android:id="@+id/tv_title_ins_time"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:paddingStart="10dp"
android:gravity="center_vertical"
android:text="@string/instruction_time_receipt"
android:background="@color/MainTitleBackgroundColor"
android:textColor="@color/WhiteTextColor"
android:textSize="@dimen/ll_instruction_summary_title_text_size"/>
<TextView
android:id="@+id/tv_main_ins_time"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.3"
android:scrollbars="vertical" ->scroll
android:paddingStart="10dp"
android:textStyle="bold"
android:background="@drawable/input02"
android:textColor="@color/MainInputTextColor"
android:textSize="@dimen/ll_instruction_summary_text_size" />
<TextView
android:id="@+id/tv_title_ins_loc"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:paddingStart="10dp"
android:gravity="center_vertical"
android:text="@string/instruction_disaster_location"
android:background="@color/MainTitleBackgroundColor"
android:textColor="@color/WhiteTextColor"
android:textSize="@dimen/ll_instruction_summary_title_text_size"/>
<TextView
android:id="@+id/tv_main_ins_loc"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2.3"
android:scrollbars="vertical"
android:background="@drawable/input02"
android:paddingStart="10dp"
android:textStyle="bold"
android:textColor="@color/MainInputTextColor"
android:textSize="@dimen/ll_instruction_summary_text_size" />
2。 Fagment.java
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
....
tvTime = (TextView) mView.findViewById(R.id.tv_main_ins_time);
tvLocation = (TextView) mView.findViewById(R.id.tv_main_ins_loc);
tvTime.setMovementMethod(new ScrollingMovementMethod());
tvLocation.setMovementMethod(new ScrollingMovementMethod());
}
第3。 main.xml中
... <fragment
android:id="@+id/fragment_instruction_summary"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="3.85"
android:name="(myPackageName).Fragment"
tools:layout="@layout/fragment" >
</fragment> ....
4。 MainActivity.java
findViewById(R.id.fragment_instruction_summary).setOnClickListener(onClickListener);
请帮帮我。 我试图将片段放在linearLayout中并设置单击Listener to linearlayout,但结果相同。
答案 0 :(得分:0)
使用布局时,滚动效果很好。尝试将TextView包装在另一个布局中。像这样:
<TextView
android:id="@+id/tv_title_ins_time"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:paddingStart="10dp"
android:gravity="center_vertical"
android:text="@string/instruction_time_receipt"
android:background="@color/MainTitleBackgroundColor"
android:textColor="@color/WhiteTextColor"
android:textSize="@dimen/ll_instruction_summary_title_text_size"/>
<TextView
android:id="@+id/tv_title_ins_loc"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.7"
android:paddingStart="10dp"
android:gravity="center_vertical"
android:text="@string/instruction_disaster_location"
android:background="@color/MainTitleBackgroundColor"
android:textColor="@color/WhiteTextColor"
android:textSize="@dimen/ll_instruction_summary_title_text_size"/>
<ScrollView
android:id="@+id/scroll"
android:layout_height="your_preference"
android:layout_width="your_preference">
<LinearLayout
android:orientation="vertical"
android:layout_height="your_preference"
android:layout_width="your_preference">
<TextView
android:id="@+id/tv_main_ins_time"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.3"
android:paddingStart="10dp"
android:textStyle="bold"
android:background="@drawable/input02"
android:textColor="@color/MainInputTextColor"
android:textSize="@dimen/ll_instruction_summary_text_size" />
<TextView
android:id="@+id/tv_main_ins_loc"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="2.3"
android:background="@drawable/input02"
android:paddingStart="10dp"
android:textStyle="bold"
android:textColor="@color/MainInputTextColor"
android:textSize="@dimen/ll_instruction_summary_text_size" />
</LinearLayout>
</ScrollView>
在你的片段中:
ScrollView scrollView;
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
....
scrollView = (ScrollView) mView.findViewById(R.id.scroll);
scrollView.setOnClickListener(new View.OnClickListener() {
// do anything
});
tvTime = (TextView) mView.findViewById(R.id.tv_main_ins_time);
tvLocation = (TextView) mView.findViewById(R.id.tv_main_ins_loc);
tvTime.setOnClickListener(new View.OnClickListener(){
// do anything
});
tvLocation.setOnClickListener(new View.OnClickListener(){
// do anything
});
tvTime.setMovementMethod(new ScrollingMovementMethod());
tvLocation.setMovementMethod(new ScrollingMovementMethod());
}