0

ViewFlipper と次のボタンがあるクイズ アプリを作成しようとしています。次のボタンを無効にするか、最後のビューになったときに新しいアクティビティを開始するなどの他のコマンドを実行させたいのですが、それは可能ですか?

Java ファイル

    Button Result = (Button) findViewById(R.id.Button);
    Button Next= (Button) findViewById(R.id.Next);
    ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);

    if(flipp.getDisplayedChild() == flipp.getChildCount()){
       Next.setText("Result");
    }
    Next.setOnClickListener(new View.OnClickListener() {
        ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
        @Override

        public void onClick(View view) {
            if(Next.getText().equals("Result")){
                finalResult();
                ResultC = 0;
                ResultW = 0;
            }else{flipp.showNext();};
        }
    });

xml ファイル

<ViewFlipper
    android:id="@+id/flipp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
<LinearLayout
    android:layout_height="match_parent"
    android:layout_width="match_parent"
    android:orientation="vertical">
<TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="right"
    android:layout_marginTop="20dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="30dp"
    android:textSize="18sp"
    android:text="Q1"/>
    </LinearLayout>

  <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical">
    <TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="right"
    android:layout_marginTop="20dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="30dp"
    android:textSize="18sp"
    android:text="Q2"/>
    </LinearLayout>

   <LinearLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:orientation="vertical">
    <TextView
    android:layout_height="wrap_content"
    android:layout_width="fill_parent"
    android:gravity="right"
    android:layout_marginTop="20dp"
    android:layout_marginRight="10dp"
    android:layout_marginLeft="30dp"
    android:textSize="18sp"
    android:text="Q4"/>
    </LinearLayout>
    </ViewFlipper>
4

3 に答える 3

0

button.setText("New label")OnclickListenerを使用してボタンのテキストを変更し、このスタイルに従ってください

if(!last)
{
   //your  usual code for onclick listener
}
else 
{
    // your code for the last view 
}

-----編集済み-----

このようにアドバイスしました

boolean last=false;
Button Result = (Button) findViewById(R.id.Button);
Button Next= (Button) findViewById(R.id.Next);
ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);

if(flipp.getDisplayedChild() == flipp.getChildCount()){
   Next.setText("Result");
   last=true;
}
Next.setOnClickListener(new View.OnClickListener() {
    ViewFlipper flipp = (ViewFlipper) findViewById(R.id.flipp);
    @Override

    public void onClick(View view) {
        if(last)){
            finalResult();
            ResultC = 0;
            ResultW = 0;
        }else{flipp.showNext();};
    }
});
于 2013-11-14T08:29:51.670 に答える
0
try this one


if (flipper.indexOfChild(flipper.getCurrentView()) == flipper.getChildCount()){

  button.settext("Start New Quiz");

}

  button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                              if(button.gettext.equals("Start New Quiz")){
                Intent in = new Intent(getApplicationContext(),
                        DashBoardClass.class);

                startActivity(in);

                 }else{

                   //do what you want here 
            }
        });

}
于 2013-11-14T08:41:42.037 に答える
0

[次へ] ボタンを押すと、 .getDisplayedChild() == .getChildCount() かどうかを確認できます。true の場合、最後のスライドに到達したので、他のコマンドを実行できます。

于 2013-11-14T08:32:17.410 に答える