2017-04-05 6 views
0

私はポップアップを開いてから、自分の活動で他の人に行く必要があります。 私はすでにこれを行うことができました。これらの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); 
     } 
    } 
} 
+1

テキストを実際に設定しないと、同じ画面の2つのポップアップを作成する必要はありません。いくつかのmili sec.transアニメーションの後にそのポップアップボタンをクリックすると、見出しのテキストが実際に変更されます。 :) –

+0

助けてくれてありがとう、しかし、この2番目のポップアップは、最初のポップアップとは異なる変数の値を設定します。テキストを変更してその値を別の変数に割り当てる必要があるため、機能しない可能性があります。 –

+0

ブール値trueとfalseで扱うことができます –

答えて

1

なぜプログラムでテキストを設定しないのですか?同じレイアウトで毎回表示されるダイアログを使用し、実行時にテキストを設定するのではなく、それがあなたを助けることを願う。お知らせ下さい。

+0

しかし、私は最初のポップアップから別の変数に値を割り当てるために2番目のポップアップのためにやるだろうか?あなたの助けをありがとう –

+0

[this](http://stackoverflow.com/a/26475582/6904440)あなたは何をやるべきかを理解するでしょう。 – Simo

+0

ダイアログを作成した後this- yourTextView.setText( "your value"); – Simo

関連する問題