Newb вопрос. Итак, я делаю разделы текста, которые можно щелкнуть, и они могут расширяться и сокращаться, чтобы показать больше текста из очень полезного учебника, но я застрял на последней части. Существует инструкция if/else для текстового раздела, который переключает контент с GONE на VISIBLE. Но теперь я пытаюсь настроить код, чтобы включить более подробные инструкции, и я не могу понять, какое условие должно быть.несколько если/else заявление conundrum
public class AlabamaActivity extends AppCompatActivity {
TextView registration_info;
TextView info2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_alabama);
registration_info = (TextView)findViewById(R.id.registration_info);
// hidden until its title is clicked
registration_info.setVisibility(View.GONE);
info2 = (TextView) findViewById(R.id.info2);
info2.setVisibility(View.GONE);
public void toggle_contents(View v) {
if (registration_info.isShown()){
Fx.slide_up(this, registration_info);
registration_info.setVisibility(View.GONE);
}
else if (//?????){
registration_info.setVisibility(View.VISIBLE);
Fx.slide_down(this, registration_info);
}
else if (info2.isShown()){
Fx.slide_up(this, info2);
info2.setVisibility(View.GONE);
}
else if (//?????){
info2.setVisibility(View.VISIBLE);
Fx.slide_down(this, info2);
}
...
Это оригинальное утверждение if/else, которое я пытаюсь настроить.
public void toggle_contents(View v) {
if (registration_info.isShown()){
Fx.slide_up(this, registration_info);
registration_info.setVisibility(View.GONE);
}
else {
registration_info.setVisibility(View.VISIBLE);
Fx.slide_down(this, registration_info);
}
Я пытался проб и ошибок за последние несколько часов, и результаты, которые я получаю в Интернете немного много для NEWB, как я.
Кроме того, мне было интересно, могу ли я сделать этот переключатель/случай вместо этого?
Спасибо!
EDIT --- стараюсь не смеяться лол
Fx код
public static void slide_down(Context ctx, View v) {
Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slide_down);
if (a != null) {
a.reset();
if (v != null) {
v.clearAnimation();
v.startAnimation(a);
}
}
}
public static void slide_up(Context ctx, View v){
Animation a = AnimationUtils.loadAnimation(ctx, R.anim.slide_up);
if(a != null){
a.reset();
if(v != null){
v.clearAnimation();
v.startAnimation(a);
}
}
}
}
слайд вниз
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:duration="200"
android:fromXScale="0.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
слайд вверх
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<scale
android:duration="200"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:interpolator="@android:anim/linear_interpolator"
android:toXScale="1.0"
android:toYScale="0.0" />
</set>
XML:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/Alabama">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/registration"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Registration"
android:textSize="20sp"
android:clickable="true"
android:onClick="toggle_contents"
android:paddingLeft="16dp"
android:paddingBottom="16dp"/>
<!--content to hide/show -->
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/registration_info"
android:text="info here"
android:paddingLeft="16dp"
android:paddingBottom="16dp"/>
<TextView
android:id="@+id/info2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Info2"
android:textSize="20sp"
android:clickable="true"
android:onClick="toggle_contents"
android:paddingLeft="16dp"
android:paddingBottom="16dp"/>
<!--content to hide/show -->
<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/info2"
android:text="info here"
android:paddingLeft="16dp"
android:paddingBottom="16dp"/>
Я думаю, если у вас есть одно условие и у вас есть много 'if-else', то в этом случае Switch выполнит эту работу. Если у вас есть 2 разных условия, тогда 'if-else' является хорошей идеей – Smit
Откуда вы называете' toggle_contents'? – Shaishav
Основной вид деятельности. Я добавил остальных – Emily