2

私はアンドロイドの初心者です。最初のタブをクリックすると、4 つのボタンが表示されます。最初に他のボタンをランダムにクリックするのではなく、最初のボタンを最初にクリックしてもらいたい。したがって、最初のボタンがクリックされるまで他のボタンを無効にする必要があり、最初のボタンがクリックされてユーザーが戻ったときにすべてのボタンを有効にする必要があります。どうすればいいですか?助けてください!!

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if(v.getId() == R.id.imgbtn_details)
    {
        attendees_imgbtn.setEnabled(true);
        resources_imgbtn.setEnabled(true);
        contacts_imgbtn.setEnabled(true);
        count = 1;
        Intent detail_intent=new Intent(getActivity().getApplicationContext(),DetailsActivity.class);
        detail_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(detail_intent);
    }
    else if(v.getId() == R.id.imgbtn_attendees && count == 0)
    {

        if(count == 1)
        {
        Intent attendee_intent = new Intent(getActivity().getApplicationContext(),AttendeesActivity.class);
        attendee_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(attendee_intent);
        }
        else
        {
            attendees_imgbtn.setEnabled(false);
            resources_imgbtn.setEnabled(false);
            contacts_imgbtn.setEnabled(false);
        }
    }
    else if(v.getId() == R.id.imgbtn_resources && count == 0)
    {

        if(count == 1)
        {
        Intent resources_intent = new Intent(getActivity().getApplicationContext(),ResourcesActivity.class);
        resources_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(resources_intent);
        }
        else
        {
            attendees_imgbtn.setEnabled(false);
            resources_imgbtn.setEnabled(false);
            contacts_imgbtn.setEnabled(false);
        }
    }
    else if(v.getId() == R.id.imgbtn_contacts && count == 0)
    {

        if(count == 1)
        {
        Intent contact_intent = new Intent(getActivity().getApplicationContext(),ContactsActivity.class);
        contact_intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(contact_intent);
        }
        else
        {
            attendees_imgbtn.setEnabled(false);
            resources_imgbtn.setEnabled(false);
            contacts_imgbtn.setEnabled(false);
        }
    }
}
4

4 に答える 4

1

setEnable(true)ボタンを有効または無効にするためのボタンに使用

于 2013-01-21T08:25:13.563 に答える
0

静的ブール変数wasClickedを定義します....but1がクリックされた場合は変数をtrueにし、それ以外の場合はfalse ...このメソッドをオーバーライドします....ユーザーが戻ってくると、最初に有効または無効にするよりも最初にチェックしますが、クリックされたかどうかはわかりません。

    @Override
     protected void onResume() {
    // TODO Auto-generated method stub
     if(!wasClicked){
        but2.setClickable(false);       
        but3.setClickable(false);
        but4.setClickable(false);           
     }else{
        but2.setClickable(true);        
        but3.setClickable(true);
        but4.setClickable(true);            
     }

     }
于 2013-01-21T08:39:57.050 に答える
0

ボタンを有効にするかどうかを指定する変数を渡す必要があると思います。

初めて、次のように渡します。

Intent intent = new Intent (this, NextAct.class);
intent.putExtra ("ENABLE", "No");

ボタンを有効にする場合は、String を Yes として渡します。

Intent intent = new Intent (this, NextAct.class);
intent.putExtra ("ENABLE", "YES");

次に、NextAct クラスでこの文字列を確認します。

    Intent intent = getIntent();
    String enableBtn = intent.getStringExtra("ENABLE");
    if (enableBtn != null && enableBtn.equalsIgnoreCase("YES")) {
        button2.setEnabled(true);
        button3.setEnabled(true);
        button4.setEnabled(true);
    } else {
        button2.setEnabled(false);
        button3.setEnabled(false);
        button4.setEnabled(false);
    }

したがって、ボタンは必要なときにのみ有効になります。

それが役立つことを願っています。

于 2013-01-21T08:48:43.820 に答える
0

このコードを試してください:

Public static boolean enable_buttons = false;

  if(enable_buttons == false){   
    button2.setEnable(false);
    button3.setEnable(false);
    button4.setEnable(false);
  }else{
    button2.setEnable(true);
    button3.setEnable(true);
    button4.setEnable(true);
  }
button1.setOnClickListener(new OnClickListener() {           

  @Override
  public void onClick(View v) 
  {
      button2.setEnable(true);
      button3.setEnable(true);
      button4.setEnable(true);
      enable_buttons = true;
  }    
}
于 2013-01-21T08:28:15.263 に答える