java - 相对布局不使用片段路由到其他屏幕
问题描述
当我点击它时,我的主屏幕上有一个relative layout
它应该移动到另一个屏幕。但我无法使该布局可点击。我有以下代码relative layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:layout_marginBottom="60dp"
android:scrollbars="none"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:orientation="vertical"
android:clickable="true">
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/homeprofile">
<ImageView
android:layout_width="173dp"
android:layout_height="128dp"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginTop="10dp"
android:layout_marginBottom="15dp"
android:background="@drawable/white_do_background"
></ImageView>
<RelativeLayout
android:layout_width="184dp"
android:layout_height="129dp">
<TextView
android:id="@+id/greetings"
android:layout_width="match_parent"
android:layout_height="38dp"
/>
<TextView
android:id="@+id/greetings2"
android:layout_width="180dp"
android:layout_height="43dp"
/>
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
//Easy Yoga
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@drawable/whitecard"
android:outlineAmbientShadowColor="@color/black"
android:layout_margin="20dp">
<RelativeLayout
android:layout_width="161dp"
android:layout_height="105dp"
android:paddingLeft="15.5dp"
android:layout_alignParentRight="true"
>
<TextView
android:id="@+id/EasyYoga"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:text="Easy Yoga"
android:textSize="16.5dp"
/>
<TextView
android:id="@+id/Follow"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="40dp"
android:text="Follow The Steps"
android:textSize="12dp"
/>
<TextView
android:id="@+id/Poses"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="60dp"
android:text="10 Poses"
android:textSize="12dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:id="@+id/easy_yoga"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="-130dp"
android:padding="10dp">
<ImageView
android:layout_width="157dp"
android:layout_height="177dp"
android:layout_marginLeft="20dp"
android:elevation="20dp"
android:src="@mipmap/easy_yoga" />
</RelativeLayout>
//HardYoga
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@drawable/whitecard"
android:outlineAmbientShadowColor="@color/black"
android:layout_margin="20dp">
<RelativeLayout
android:layout_width="161dp"
android:layout_height="105dp"
android:layout_alignParentRight="true"
android:paddingLeft="15.5dp"
>
<TextView
android:id="@+id/HardYoga"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:text="Hard Yoga"
android:textSize="16.5dp"
/>
<TextView
android:id="@+id/FollowHard"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="40dp"
android:text="Follow The Steps"
android:textSize="12dp"
/>
<TextView
android:id="@+id/PosesHard"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="60dp"
android:text="10 Poses"
android:textSize="12dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="-130dp"
android:padding="10dp">
<ImageView
android:layout_width="157dp"
android:layout_height="177dp"
android:layout_marginLeft="20dp"
android:elevation="20dp"
android:src="@mipmap/hard_yoga" />
</RelativeLayout>
//Surya Namaskara
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@drawable/whitecard"
android:outlineAmbientShadowColor="@color/black"
android:layout_margin="20dp">
<RelativeLayout
android:layout_width="161dp"
android:layout_height="105dp"
android:paddingLeft="15.5dp"
android:layout_alignParentRight="true"
>
<TextView
android:id="@+id/SuryaNamaskara"
android:layout_width="match_parent"
android:layout_height="20dp"
android:text="Surya Namaskara"
android:layout_marginTop="10dp"
android:textSize="16.5dp"
/>
<TextView
android:id="@+id/FollowSurya"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="40dp"
android:text="Follow The Steps"
android:textSize="12dp"
/>
<TextView
android:id="@+id/PosesSurya"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="60dp"
android:text="10 Poses"
android:textSize="12dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="-130dp"
android:padding="10dp">
<ImageView
android:layout_width="157dp"
android:layout_height="177dp"
android:layout_marginLeft="20dp"
android:elevation="20dp"
android:src="@mipmap/surya_namaskara" />
</RelativeLayout>
//Animal Pose
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="110dp"
android:background="@drawable/whitecard"
android:outlineAmbientShadowColor="@color/black"
android:layout_margin="20dp">
<RelativeLayout
android:layout_width="161dp"
android:layout_height="105dp"
android:paddingLeft="15.5dp"
android:layout_alignParentRight="true"
>
<TextView
android:id="@+id/AnimalPose"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:text="Animal Pose"
android:textSize="16.5dp"
/>
<TextView
android:id="@+id/FollowAnimal"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="40dp"
android:text="Follow The Steps"
android:textSize="12dp"
/>
<TextView
android:id="@+id/PosesAnimal"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="60dp"
android:text="10 Poses"
android:textSize="12dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="-130dp"
android:padding="10dp">
<ImageView
android:layout_width="157dp"
android:layout_height="177dp"
android:layout_marginLeft="20dp"
android:elevation="20dp"
android:src="@mipmap/animal_ppose" />
</RelativeLayout>
//All Yoga Excercises
<RelativeLayout
android:id="@+id/exercise_btn"
android:layout_width="match_parent"
android:layout_height="110dp"
android:layout_margin="20dp"
android:background="@drawable/whitecard"
android:outlineAmbientShadowColor="@color/black"
android:clickable="true"
>
<RelativeLayout
android:layout_width="161dp"
android:layout_height="105dp"
android:layout_alignParentRight="true"
android:paddingLeft="15.5dp">
<TextView
android:id="@+id/AllYoga"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="10dp"
android:text="All Yoga Excercises"
android:textSize="16.5dp" />
<TextView
android:id="@+id/FollowAllYoga"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="40dp"
android:text="Follow The Steps"
android:textSize="12dp"
/>
<TextView
android:id="@+id/PosesAllYoga"
android:layout_width="match_parent"
android:layout_height="20dp"
android:layout_marginTop="60dp"
android:text="30 Poses"
android:textSize="12dp"
/>
</RelativeLayout>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="-130dp"
android:padding="10dp">
<ImageView
android:layout_width="157dp"
android:layout_height="177dp"
android:layout_marginLeft="20dp"
android:elevation="20dp"
android:src="@mipmap/all_exercise" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
下面是我的类功能,有一个开关盒,因为我在主屏幕上有不同的类别,所以当单击特定类别时,它应该移动到该屏幕,我无法做到这一点。
public class Hscreen extends AppCompatActivity {
TextView AllYoga;
RelativeLayout excerisebtn;
ArrayList<Youga_helper> yougahelpers = new ArrayList<>();
int curretlyloadstack = 0;
@SuppressLint("WrongViewCast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hscreen);
this.excerisebtn = (RelativeLayout) findViewById(R.id.excerise_btn);
this.AllYoga=(TextView)findViewById(R.id.AllYoga);
this.AllYoga.setOnClickListener(this::onClick);
this.excerisebtn.setOnClickListener((View.OnClickListener) this);
}
public void onClick(View view){
switch (view.getId()){
case R.id.excerise_btn :
Bundle bundle = new Bundle();
bundle.putSerializable("yoga_helper", this.yougahelpers);
Excerise_F exerciseF = new Excerise_F();
exerciseF.setArguments(bundle);
replacefragment(exerciseF);
this.curretlyloadstack = 0;
return;
default:return;
}
}
public void replacefragment(Fragment fragment) {
if (fragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.content_frame, fragment).commit();
}
}
}
我要路由的屏幕工作正常。
我该如何解决
解决方案
在您的 XML 中,确保您已像这样为 relativelayout 设置 ID
android:id="@+id/excerise_btn"
在你的 JAVA 中,按照下面的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
excerisebtn = (RelativeLayout) findViewById(R.id.excerise_btn);
excerisebtn.setOnClickListener(this);
}
@Override
public void onClick(View view){
if(view.getId() == excerisebtn.getId()){
// DO WHAT YOU WANT WHEN THE RELATIVE LAYOUT IS CLICKED HERE.
}
}
推荐阅读
- express - 将斯巴达克斯部署到 Heroku
- c - gethostname 默默地截断结果而不是给出 ENAMETOOLONG 错误
- azure-ad-b2c - 当 OKTA 是外部 IDP 时 AD B2C 与 OKTA 集成
- python - 使用python re在字符串列表中查找每两个单词字符串
- celery - Celery 从任务中创建任务
- python - 如何使用 NN 不断向张量添加值?
- python - Python 用户输入 - 接受多个值然后中断
- mockito - 使用 Maven 进行 Mockito 测试
- php - 在php中按StartDate升序对扩展数据数组进行排序
- powershell - Powershell 7 中是否有等效的 New-EventLog?