我的应用程序在创建一个relativelayout的按钮后崩溃
我想创建一个使用相对布局的ViewPager。
但是在此屏幕弹出之前,我有一个ConstraintLayout屏幕。
因此,我创建了一个按钮将我引导到该ViewPager,但是应用程序崩溃了,我不知道为什么...
Java:
public class TelaPrincipal extends AppCompatActivity {
private Button bt_to_treinos;
FirebaseFirestore db = FirebaseFirestore.getInstance();
String usuarioID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tela_principal);
getSupportActionBar().hide();
IniciarComponentes();
//THIS BUTTON OVER HERE
bt_to_treinos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(TelaPrincipal.this,SlideAdapter.class);
startActivity(intent);
}
});
}
}
我做了2个Relativelayouts:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/slide_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="80dp"
android:src="@drawable/segunda" />
<TextView
android:id="@+id/slide_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="350dp"
android:layout_marginLeft="110dp"
android:text="Segunda"
android:textColor="@color/white"
android:textSize="50sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/slide_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="500dp"
android:text="@string/example"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
第二个屏幕:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".treinos"
android:background="@drawable/background"
>
<androidx.viewpager.widget.ViewPager
android:id="@+id/slideViewPager"
android:layout_width="match_parent"
android:layout_height="650dp" />
应该出现此屏幕,但崩溃了:
public class treinos extends AppCompatActivity {
private ViewPager mSlideViewPager;
private LinearLayout mDotLayout;
private TextView[] mDots;
private SlideAdapter sliderAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_treinos);
getSupportActionBar().hide();
mSlideViewPager = findViewById(R.id.slideViewPager);
sliderAdapter = new SlideAdapter(this);
mSlideViewPager.setAdapter(sliderAdapter);
}}
SlidePager类其他Java代码:
public class SlideAdapter extends PagerAdapter {
Context context;
LayoutInflater layoutInflater;
public SlideAdapter(Context context){
this.context = context;
}
//Arrays
public int [] slide_images = {
R.drawable.segunda,
R.drawable.terca,
R.drawable.quarta,
R.drawable.quinta,
R.drawable.sexta,
R.drawable.sabado,
R.drawable.domingo
};
public String[] slide_headings = {
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sábado",
"Domingo"
};
public String[] slide_descs = {
"Btest1",
"test 2",
"test 3",
"test 4",
"test 5",
"test 6",
"test 7 "
};
@Override
public int getCount() {
return slide_headings.length;
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view == (RelativeLayout) o;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater)
context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.slide_layout, container, false);
ImageView slideImageView = (ImageView) view.findViewById(R.id.slide_image );
TextView slideHeading = (TextView) view.findViewById(R.id.slide_heading );
TextView slideDescription = (TextView) view.findViewById(R.id.slide_desc);
slideImageView.setImageResource(slide_images[position]);
slideHeading.setText(slide_headings[position]);
slideDescription.setText(slide_descs[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((RelativeLayout) object);
}}
谢谢大家
I want to create a viewpager that uses relative layout.
but before that screen pops out, i have a constraintlayout screen.
So i create a button to direct me to that viewpager, but app crashes and i dont know why...
Java:
public class TelaPrincipal extends AppCompatActivity {
private Button bt_to_treinos;
FirebaseFirestore db = FirebaseFirestore.getInstance();
String usuarioID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tela_principal);
getSupportActionBar().hide();
IniciarComponentes();
//THIS BUTTON OVER HERE
bt_to_treinos.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(TelaPrincipal.this,SlideAdapter.class);
startActivity(intent);
}
});
}
}
i did 2 RelativeLayouts:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/slide_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="80dp"
android:src="@drawable/segunda" />
<TextView
android:id="@+id/slide_heading"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="350dp"
android:layout_marginLeft="110dp"
android:text="Segunda"
android:textColor="@color/white"
android:textSize="50sp"
android:textStyle="bold"
/>
<TextView
android:id="@+id/slide_desc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="500dp"
android:text="@string/example"
android:textColor="@color/white"
android:textSize="15sp"
android:textStyle="bold" />
Second one:
<?xml version="1.0" encoding="utf-8"?>
<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"
tools:context=".treinos"
android:background="@drawable/background"
>
<androidx.viewpager.widget.ViewPager
android:id="@+id/slideViewPager"
android:layout_width="match_parent"
android:layout_height="650dp" />
this screen should appear but crashes:
public class treinos extends AppCompatActivity {
private ViewPager mSlideViewPager;
private LinearLayout mDotLayout;
private TextView[] mDots;
private SlideAdapter sliderAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_treinos);
getSupportActionBar().hide();
mSlideViewPager = findViewById(R.id.slideViewPager);
sliderAdapter = new SlideAdapter(this);
mSlideViewPager.setAdapter(sliderAdapter);
}}
Slidepager class other java code:
public class SlideAdapter extends PagerAdapter {
Context context;
LayoutInflater layoutInflater;
public SlideAdapter(Context context){
this.context = context;
}
//Arrays
public int [] slide_images = {
R.drawable.segunda,
R.drawable.terca,
R.drawable.quarta,
R.drawable.quinta,
R.drawable.sexta,
R.drawable.sabado,
R.drawable.domingo
};
public String[] slide_headings = {
"Segunda",
"Terça",
"Quarta",
"Quinta",
"Sexta",
"Sábado",
"Domingo"
};
public String[] slide_descs = {
"Btest1",
"test 2",
"test 3",
"test 4",
"test 5",
"test 6",
"test 7 "
};
@Override
public int getCount() {
return slide_headings.length;
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view == (RelativeLayout) o;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
layoutInflater = (LayoutInflater)
context.getSystemService(context.LAYOUT_INFLATER_SERVICE);
View view = layoutInflater.inflate(R.layout.slide_layout, container, false);
ImageView slideImageView = (ImageView) view.findViewById(R.id.slide_image );
TextView slideHeading = (TextView) view.findViewById(R.id.slide_heading );
TextView slideDescription = (TextView) view.findViewById(R.id.slide_desc);
slideImageView.setImageResource(slide_images[position]);
slideHeading.setText(slide_headings[position]);
slideDescription.setText(slide_descs[position]);
container.addView(view);
return view;
}
@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
container.removeView((RelativeLayout) object);
}}
Thankyou Everyone
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论