私はポップアップを開いてから、自分の活動で他の人に行く必要があります。 私はすでにこれを行うことができました。これらの2つのポップアップは同じですが、それぞれが別の変数に値を割り当てます。 これらの2つのポップアップはまったく同じですが、変更されるのはテキストだけです。 MainActivityでコードを小さくする方法があるかどうか、どちらのポップアップにも同じボタンを使用する方法があるかどうかを知りたいです 将来はさらに3つのポップアップが表示されるため、ここ は、ポップアップのxmlですし、私のアクティビティコード:他の同様のポップアップでポップアップから同じxmlコードを使用しますか?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#4d4dff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/textoPoup1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="1 - Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
android:textColor="@android:color/white"
android:textSize="20dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnP1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0" />
<Button
android:id="@+id/btnP2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="50" />
<Button
android:id="@+id/btnP3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="100" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnP4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="150" />
<Button
android:id="@+id/btnP5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="200" />
<Button
android:id="@+id/btnP6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="250" />
</LinearLayout>
<Button
android:id="@+id/btnNext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Next Popup" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
その他のポップアップ:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:background="#4d4dff"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="10dp"
android:orientation="vertical">
<TextView
android:id="@+id/textoPoup1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="2 - Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi "
android:textColor="@android:color/white"
android:textSize="20dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnP1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0" />
<Button
android:id="@+id/btnP2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="50" />
<Button
android:id="@+id/btnP3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="100" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnP4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="150" />
<Button
android:id="@+id/btnP5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="200" />
<Button
android:id="@+id/btnP6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="250" />
</LinearLayout>
<Button
android:id="@+id/btnNext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Next Popup" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
MainActivity:
public class MainActivity extends AppCompatActivity implements View.OnClickListener
{
private Button btnPopup;
private int value1;
private int value2;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnPopup = (Button) findViewById(R.id.btnPopup);
btnPopup.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
if (v.getId() == R.id.btnPopup)
{
//-----------------------------------Second POPUP----------------------------------------------------
LayoutInflater layoutInflater2 = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView2 = layoutInflater2.inflate(R.layout.popup2, null);
final PopupWindow popupWindow2 = new PopupWindow(popupView2,
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
final Button btn2P1 = (Button) popupView2.findViewById(R.id.btnP1);
final Button btn2P2 = (Button) popupView2.findViewById(R.id.btnP2);
final Button btn2P3 = (Button) popupView2.findViewById(R.id.btnP3);
final Button btn2P4 = (Button) popupView2.findViewById(R.id.btnP4);
final Button btn2P5 = (Button) popupView2.findViewById(R.id.btnP5);
final Button btn2P6 = (Button) popupView2.findViewById(R.id.btnP6);
final Button btn2Next = (Button) popupView2.findViewById(R.id.btnNext);
btn2Next.setEnabled(false);
btn2P1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 0;
btn2P1.setEnabled(false);
btn2P2.setEnabled(true);
btn2P3.setEnabled(true);
btn2P4.setEnabled(true);
btn2P5.setEnabled(true);
btn2P6.setEnabled(true);
btn2Next.setEnabled(true);
}
});
btn2P2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 50;
btn2P1.setEnabled(true);
btn2P2.setEnabled(false);
btn2P3.setEnabled(true);
btn2P4.setEnabled(true);
btn2P5.setEnabled(true);
btn2P6.setEnabled(true);
btn2Next.setEnabled(true);
}
});
btn2P3.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 100;
btn2P1.setEnabled(true);
btn2P2.setEnabled(true);
btn2P3.setEnabled(false);
btn2P4.setEnabled(true);
btn2P5.setEnabled(true);
btn2P6.setEnabled(true);
btn2Next.setEnabled(true);
}
});
btn2P4.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 150;
btn2P1.setEnabled(true);
btn2P2.setEnabled(true);
btn2P3.setEnabled(true);
btn2P4.setEnabled(false);
btn2P5.setEnabled(true);
btn2P6.setEnabled(true);
btn2Next.setEnabled(true);
}
});
btn2P5.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 200;
btn2P1.setEnabled(true);
btn2P2.setEnabled(true);
btn2P3.setEnabled(true);
btn2P4.setEnabled(true);
btn2P5.setEnabled(false);
btn2P6.setEnabled(true);
btn2Next.setEnabled(true);
}
});
btn2P6.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 250;
btn2P1.setEnabled(true);
btn2P2.setEnabled(true);
btn2P3.setEnabled(true);
btn2P4.setEnabled(true);
btn2P5.setEnabled(true);
btn2P6.setEnabled(false);
btn2Next.setEnabled(true);
}
});
btn2Next.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
popupWindow2.dismiss();
//popupWindow3.showAsDropDown(btnPopup, 50, -30);
}
});
//-----------------------------------First POPUP----------------------------------------------------
LayoutInflater layoutInflater1 = (LayoutInflater) getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView1 = layoutInflater1.inflate(R.layout.popup1, null);
final PopupWindow popupWindow1 = new PopupWindow(popupView1,
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
final Button btnP1 = (Button) popupView1.findViewById(R.id.btnP1);
final Button btnP2 = (Button) popupView1.findViewById(R.id.btnP2);
final Button btnP3 = (Button) popupView1.findViewById(R.id.btnP3);
final Button btnP4 = (Button) popupView1.findViewById(R.id.btnP4);
final Button btnP5 = (Button) popupView1.findViewById(R.id.btnP5);
final Button btnP6 = (Button) popupView1.findViewById(R.id.btnP6);
final Button btnNext = (Button) popupView1.findViewById(R.id.btnNext);
btnNext.setEnabled(false);
btnP1.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 0;
btnP1.setEnabled(false);
btnP2.setEnabled(true);
btnP3.setEnabled(true);
btnP4.setEnabled(true);
btnP5.setEnabled(true);
btnP6.setEnabled(true);
btnNext.setEnabled(true);
}
});
btnP2.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 50;
btnP1.setEnabled(true);
btnP2.setEnabled(false);
btnP3.setEnabled(true);
btnP4.setEnabled(true);
btnP5.setEnabled(true);
btnP6.setEnabled(true);
btnNext.setEnabled(true);
}
});
btnP3.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 100;
btnP1.setEnabled(true);
btnP2.setEnabled(true);
btnP3.setEnabled(false);
btnP4.setEnabled(true);
btnP5.setEnabled(true);
btnP6.setEnabled(true);
btnNext.setEnabled(true);
}
});
btnP4.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 150;
btnP1.setEnabled(true);
btnP2.setEnabled(true);
btnP3.setEnabled(true);
btnP4.setEnabled(false);
btnP5.setEnabled(true);
enter code here btnP6.setEnabled(true);
btnNext.setEnabled(true);
}
});
btnP5.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 200;
btnP1.setEnabled(true);
btnP2.setEnabled(true);
btnP3.setEnabled(true);
btnP4.setEnabled(true);
btnP5.setEnabled(false);
btnP6.setEnabled(true);
btnNext.setEnabled(true);
}
});
btnP6.setOnClickListener(new Button.OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
value2 = 250;
btnP1.setEnabled(true);
btnP2.setEnabled(true);
btnP3.setEnabled(true);
btnP4.setEnabled(true);
btnP5.setEnabled(true);
btnP6.setEnabled(false);
btnNext.setEnabled(true);
}
});
btnNext.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
popupWindow1.dismiss();
popupWindow2.showAtLocation(btnPopup, Gravity.CENTER, 0, 0);
}
});
popupWindow1.showAtLocation(btnPopup, Gravity.CENTER, 0, 0);
}
}
}
テキストを実際に設定しないと、同じ画面の2つのポップアップを作成する必要はありません。いくつかのmili sec.transアニメーションの後にそのポップアップボタンをクリックすると、見出しのテキストが実際に変更されます。 :) –
助けてくれてありがとう、しかし、この2番目のポップアップは、最初のポップアップとは異なる変数の値を設定します。テキストを変更してその値を別の変数に割り当てる必要があるため、機能しない可能性があります。 –
ブール値trueとfalseで扱うことができます –