我需要管理如图所示的特定时间段。
我需要当我点击一个特定的时间,它打开一个新的片段,告诉我哪个元素被点击了。
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="15dp"
android:id="@+id/tableLayoutWeek"
>
<!--riga dei giorni-->
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/blueBlack"
android:padding="20dp"
>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="lun"
android:textAllCaps="true"
android:textColor="#FFFFFF" />
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="mar"
android:textAllCaps="true"
android:textColor="#FFFFFF" />
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="mer"
android:textAllCaps="true"
android:textColor="#FFFFFF" />
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="gio"
android:textAllCaps="true"
android:textColor="#FFFFFF" />
<TextView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="ven"
android:textAllCaps="true"
android:textColor="#FFFFFF" />
</TableRow>
<!--riga delle 16-->
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/yellowRow"
android:padding="20dp"
android:id="@+id/row16"
>
<TextView
android:id="@+id/lun16"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="16:00"
android:textStyle="bold"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"
/>
<TextView
android:id="@+id/mar16"
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="16:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:tag="mer16"
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="16:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:tag="gio16"
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="16:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:tag="ven16"
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="16:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
</TableRow>
<!--riga delle 17-->
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/yellowRow"
android:padding="20dp"
>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="17:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="17:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="17:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="17:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="17:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
</TableRow>
<!--riga delle 18-->
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/yellowRow"
android:padding="20dp"
>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="18:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="18:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="18:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="18:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="18:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
</TableRow>
<!--riga delle 19-->
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/yellowRow"
android:padding="20dp"
>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="19:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="19:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="19:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="19:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"/>
<TextView
android:textStyle="bold"
android:layout_width="60dp"
android:layout_height="60dp"
android:text="19:00"
android:textAllCaps="true"
android:textColor="@color/black"
android:layout_margin="5dp"
/>
</TableRow>
</TableLayout>
我尝试过这种方法,但总是得到行ID,而不是子ID。
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
binding = FragmentWeekBinding.inflate(inflater, container, false);
View root = binding.getRoot();
binding.row16.setClickable(true);
binding.row16.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int id = view.getId();
Toast.makeText(getContext(), "pos:" + id, Toast.LENGTH_SHORT).show();
}
});
return root;
}
我也尝试过标记,但它仍然不工作,有人有任何解决方案推荐吗?我将非常感激
1条答案
按热度按时间pod7payv1#
在每个TextView上设定onClickListener。
示例:https://www.folkstalk.com/tech/onclicklistener-and-table-layout-with-example/
这是在Button上完成的。请更改为TextView。