Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 按钮的onClick事件的执行顺序是什么_Android - Fatal编程技术网

Android 按钮的onClick事件的执行顺序是什么

Android 按钮的onClick事件的执行顺序是什么,android,Android,我有20个按钮和GridView的活动。 一个按钮清除GridView,另一个按钮向GridView添加不同的值。 有一段时间,我按下1-Add,2-Clear,3-Add,但看到按钮Clear被按下(橙色)并执行1-Add,2-Add,3-Clear。 有时“清除”按钮会被长时间按下,并且根本不应答,但其他按钮会工作。 怎么可能呢? 我的活动: public class Smena extends Activity { public Nomenklatura Asortiment;

我有20个按钮和GridView的活动。 一个按钮清除GridView,另一个按钮向GridView添加不同的值。 有一段时间,我按下1-Add,2-Clear,3-Add,但看到按钮Clear被按下(橙色)并执行1-Add,2-Add,3-Clear。 有时“清除”按钮会被长时间按下,并且根本不应答,但其他按钮会工作。 怎么可能呢? 我的活动:

public class Smena extends Activity 
{
    public Nomenklatura Asortiment;
    GridView gvMain;
    GridView gvMain1;
    GridView gvMain2;
    ArrayAdapter<String> adapter;
    ArrayAdapter<String> adapter1;
    ArrayAdapter<String> adapter2;
    double Sum=0;
    String Sdacha;
    String filename="shops345";
    Boolean PushX=false;
    TextView tv1;
    void Save()
    {
        LocalPersistence.witeObjectToFile(this, Asortiment, filename);
    }
    public void myClickHandler(View target){
        Intent intent1;
        switch (target.getId()){
        case R.id.button1:
            ButtonOn (Asortiment.SmenaButName[0],Asortiment.SmenaButPrice[0]);
            break;
        case R.id.button10:
            ButtonOn (Asortiment.SmenaButName[9],Asortiment.SmenaButPrice[9]);
            break;
        case R.id.button11:
            ButtonOn (Asortiment.SmenaButName[10],Asortiment.SmenaButPrice[10]);
            break;
        case R.id.button12:
            ButtonOn (Asortiment.SmenaButName[11],Asortiment.SmenaButPrice[11]);
            break;
        case R.id.button13:
            ButtonOn (Asortiment.SmenaButName[12],Asortiment.SmenaButPrice[12]);
            break;
        case R.id.button14:
            ButtonOn (Asortiment.SmenaButName[13],Asortiment.SmenaButPrice[13]);
            break;
        case R.id.button15:
            ButtonOn (Asortiment.SmenaButName[14],Asortiment.SmenaButPrice[14]);
            break;
        case R.id.button16:
            intent1=new Intent(Smena.this,Napitki.class);
            Save();
            startActivity(intent1);
            break;
        case R.id.button17:
            intent1=new Intent(Smena.this,Zhevacki.class);
            Save();
            startActivity(intent1);
            break;
        case R.id.button18:
             intent1=new Intent(Smena.this,Dobavki.class);
            Save();
            startActivity(intent1);
            break;
        case R.id.button19:
             intent1=new Intent(Smena.this,Presmena.class);
            Save();
            startActivity(intent1);
            break;
        case R.id.button2:
            ButtonOn (Asortiment.SmenaButName[1],Asortiment.SmenaButPrice[1]);
            break;
        case R.id.button20:
            intent1=new Intent(Smena.this,Orp.class);
            Asortiment.data.clear();
            Asortiment.data1.clear();
            Save();
            startActivity(intent1);
            break;
        case R.id.button21:
            ButtonDel();
            break;
        case R.id.button22:
            clear();
            break;
        case R.id.button23:
            intent1=new Intent(Smena.this,Sdacha.class);

            Save();
            startActivity(intent1);
            break;
        case R.id.button25:
            clear();
        //  checkTv();
            break;
        case R.id.button3:
            ButtonOn (Asortiment.SmenaButName[2],Asortiment.SmenaButPrice[2]);
            break;
        case R.id.button4:
            ButtonOn (Asortiment.SmenaButName[3],Asortiment.SmenaButPrice[3]);
            break;
        case R.id.button41:
            if(PushX)
                buttonx(3);
                else buttonx(2);PushX=true;
            break;
        case R.id.button42:
            if(PushX)
                buttonx(4);
                else buttonx(3);PushX=true;
            break;
        case R.id.button43:
            if(PushX)
                buttonx(5);
                else buttonx(4);PushX=true;
            break;
        case R.id.button44:
            if(PushX)
                buttonx(6);
                else buttonx(5);PushX=true;
            break;
        case R.id.button45:
            if(PushX)
                buttonx(7);
                else buttonx(6);PushX=true;
            break;
        case R.id.button46:
            if(PushX)
                buttonx(8);
                else buttonx(7);PushX=true;
            break;
        case R.id.button5:
            ButtonOn (Asortiment.SmenaButName[4],Asortiment.SmenaButPrice[4]);
            break;
        case R.id.button6:
            ButtonOn (Asortiment.SmenaButName[5],Asortiment.SmenaButPrice[5]);
            break;
        case R.id.button7:
            ButtonOn (Asortiment.SmenaButName[6],Asortiment.SmenaButPrice[6]);
            break;
        case R.id.button8:
            ButtonOn (Asortiment.SmenaButName[7],Asortiment.SmenaButPrice[7]);
            break;
        case R.id.button9:
            ButtonOn (Asortiment.SmenaButName[8],Asortiment.SmenaButPrice[8]);
            break;
        }
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.smena); 
        Intent i=getIntent();
        Asortiment=(Nomenklatura) LocalPersistence.readObjectFromFile(this, filename);
        adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, Asortiment.data);
        adapter1 = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, Asortiment.data1);
        tv1=(TextView) findViewById(R.id.textView1);
        gvMain = (GridView) findViewById(R.id.gridView1);
        gvMain.setAdapter(adapter);
        gvMain1 = (GridView) findViewById(R.id.gridView11);
        gvMain1.setAdapter(adapter1);
        gvMain2 = (GridView) findViewById(R.id.gridView2);
        if(Asortiment.data2.size()<=0)  data2clear();
        if(i.getExtras().containsKey("Dobavki"))
        {
            ArrayList<String> DobavkiList=new ArrayList<String>();    
            DobavkiList=i.getExtras().getStringArrayList("Dobavki") ;
            for(String item : DobavkiList)
            {
                String Art=Asortiment.GetArtByName(item);
                String [] np=Asortiment.GetNamePriceByArt(Art);
                ButtonOn (np[0],np[1]);
            }   
          }
        if(i.getExtras().containsKey("Napitki"))
          {
            ArrayList<String> NapitkiList=new ArrayList<String>();    
            NapitkiList=i.getExtras().getStringArrayList("Napitki") ;
                for(String item : NapitkiList)
                {
                    String Art=Asortiment.GetArtByName(item);
                    String [] np=Asortiment.GetNamePriceByArt(Art);
                ButtonOn (np[0],np[1]);
                }
          }
        if(i.getExtras().containsKey("Zhevacki"))
          {
            ArrayList<String> ZhevackiList=new ArrayList<String>();   
            ZhevackiList=i.getExtras().getStringArrayList("Zhevacki") ;
                for(String item : ZhevackiList)
                {
                    String Art=Asortiment.GetArtByName(item);
                    String [] np=Asortiment.GetNamePriceByArt(Art);
                ButtonOn (np[0],np[1]);
                }   
          }
        Double sd;
        if(i.getExtras().containsKey("Sdacha"))
        {

            sd=Double.parseDouble(Asortiment.data2.get(1));  
            Sdacha=i.getExtras().getString("Sdacha");   
            sd=Double.parseDouble(Sdacha)-sd; 
      }
    else 
    {
        if(Asortiment.data2.size()>0)
        {   
            Sdacha=Asortiment.data2.get(3);
            sd=Double.parseDouble(Asortiment.data2.get(1));  
            if(Double.parseDouble(Asortiment.data2.get(3))>0)
            sd=Double.parseDouble(Asortiment.data2.get(3))-sd;
            else sd=(double) 0;
            }else {sd=(double) 0;Sdacha="0";}
    }
        Asortiment.data2.set(3, Sdacha);
        Asortiment.data2.set(5, sd.toString());
        adapter2 = new ArrayAdapter<String>(this, R.layout.item2, R.id.tvText, Asortiment.data2);
        gvMain2.setAdapter(adapter2);


    }
    void buttonx(int k){
        if(!Asortiment.LastButton.get(0).equals("0")){
        for (int i=0;i<k;i++){
            ButtonOn (Asortiment.LastButton.get(0),Asortiment.LastButton.get(1));
            }}
    }
    void checkTv()
    {
        Date dt1=new Date();
        if(dt1.getHours()>19 && Asortiment.LastRequest.getDay()<dt1.getDay() && (Calendar.DAY_OF_WEEK==2 ||Calendar.DAY_OF_WEEK==4 || Calendar.DAY_OF_WEEK==6))
        tv1.setText("ОТПРАВЬТЕ ЗАЯВКУ");
        else tv1.setText("");           
    }
     void clear()
        {
            Asortiment.data.clear();
            adapter.clear();
            Asortiment.data1.clear();
            adapter1.clear();
            data2clear();
        }

    void data2clear()
    {

        Asortiment.data2.set(1, "0");
        Asortiment.data2.set(3, "0");
        Asortiment.data2.set(5, "0");   
        gvMain2.setAdapter(adapter2);
    }

    private void ButtonDel()
    {
        int cnt=    Asortiment.data.size();
        if(cnt>0){
            Double d=Double.parseDouble(Asortiment.data2.get(1));//1
            d=d-Double.parseDouble(Asortiment.data1.get(cnt-1));
            Asortiment.data2.set(1, d.toString());
            //adapter2 = new ArrayAdapter<String>(this, R.layout.item2, R.id.tvText, Asortiment.data2);//1
            gvMain2.setAdapter(adapter2);
            Asortiment.data.remove(cnt-1);
            Asortiment.data1.remove(cnt-1);
        //adapter = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, Asortiment.data);
        //adapter1 = new ArrayAdapter<String>(this, R.layout.item, R.id.tvText, Asortiment.data1);
        gvMain.setAdapter(adapter);
        gvMain1.setAdapter(adapter1);
        }
    }
    private void ButtonOn (String name, String price)
    {
        PushX=false;
        if(name.length()>15)name=name.substring(0, 15);
        Asortiment.LastButton.set(0, name);
        Asortiment.LastButton.set(1, price);
        Asortiment.data.add(name);
        Asortiment.data1.add(price);
        gvMain.setAdapter(adapter); 
        gvMain1.setAdapter(adapter1);   
        Double d=Double.parseDouble(Asortiment.data2.get(1));
        d=Double.parseDouble(price)+d;
        Asortiment.data2.set(1, d.toString());
        Double sd=Double.parseDouble(Asortiment.data2.get(3));
        if (sd>0) {
            sd=sd-d;
            Asortiment.data2.set(5, sd.toString());
        }
        gvMain2.setAdapter(adapter2);
    }
}
公共类Smena扩展活动
{
公共场所;
GridView gvMain;
GridView GVmain 1;
GridView-gvMain2;
阵列适配器;
阵列适配器1;
阵列适配器2;
双和=0;
字符串Sdacha;
字符串filename=“shops345”;
布尔PushX=false;
文本视图tv1;
作废保存()
{
LocalPersistence.witeObjectToFile(this,asortion,filename);
}
公共无效myClickHandler(查看目标){
意图1;
开关(target.getId()){
案例R.id.button1:
ButtonOn(asortion.SmenaButName[0],asortion.SmenaButPrice[0]);
打破
外壳R.id.按钮10:
ButtonOn(asortion.SmenaButName[9],asortion.SmenaButPrice[9]);
打破
外壳R.id.按钮11:
ButtonOn(asortion.SmenaButName[10],asortion.SmenaButPrice[10]);
打破
外壳R.id.按钮12:
ButtonOn(asortion.SmenaButName[11],asortion.SmenaButPrice[11]);
打破
外壳R.id.按钮13:
ButtonOn(asortion.SmenaButName[12],asortion.SmenaButPrice[12]);
打破
外壳R.id.按钮14:
ButtonOn(asortion.SmenaButName[13],asortion.SmenaButPrice[13]);
打破
外壳R.id.按钮15:
ButtonOn(asortion.SmenaButName[14],asortion.SmenaButPrice[14]);
打破
外壳R.id.按钮16:
intent1=新的意图(Smena.this,Napitki.class);
Save();
星触觉(intent1);
打破
外壳R.id.按钮17:
intent1=新的意图(Smena.this,Zhevacki.class);
Save();
星触觉(intent1);
打破
外壳R.id.按钮18:
intent1=新的意图(Smena.this,Dobavki.class);
Save();
星触觉(intent1);
打破
外壳R.id.按钮19:
intent1=新意图(Smena.this,Presmena.class);
Save();
星触觉(intent1);
打破
案例R.id.按钮2:
ButtonOn(asortion.SmenaButName[1],asortion.SmenaButPrice[1]);
打破
案例R.id.按钮20:
intent1=新的意图(Smena.this,Orp.class);
asortion.data.clear();
asortion.data1.clear();
Save();
星触觉(intent1);
打破
案例R.id.按钮21:
ButtonDel();
打破
案例R.id.按钮22:
清除();
打破
案例R.id.按钮23:
intent1=新意图(Smena.this,Sdacha.class);
Save();
星触觉(intent1);
打破
案例R.id.按钮25:
清除();
//检查电视();
打破
外壳R.id.按钮3:
ButtonOn(asortion.SmenaButName[2],asortion.SmenaButPrice[2]);
打破
外壳R.id.按钮4:
ButtonOn(asortion.SmenaButName[3],asortion.SmenaButPrice[3]);
打破
外壳R.id.按钮41:
if(PushX)
钮扣(3);
else按钮X(2);PushX=真;
打破
外壳R.id.按钮42:
if(PushX)
钮扣(4);
else按钮X(3);PushX=真;
打破
案例R.id.按钮43:
if(PushX)
钮扣(5);
else按钮X(4);PushX=真;
打破
外壳R.id.按钮44:
if(PushX)
钮扣(6);
else按钮X(5);PushX=真;
打破
外壳R.id.按钮45:
if(PushX)
钮扣(7);
else按钮X(6);PushX=真;
打破
外壳R.id.按钮46:
if(PushX)
钮扣(8);
else按钮X(7);PushX=真;
打破
外壳R.id.按钮5:
ButtonOn(asortion.SmenaButName[4],asortion.SmenaButPrice[4]);
打破
外壳R.id.按钮6:
ButtonOn(asortion.SmenaButName[5],asortion.SmenaButPrice[5]);
打破
外壳R.id.按钮7:
ButtonOn(asortion.SmenaButName[6],asortion.SmenaButPrice[6]);
打破
外壳R.id.按钮8:
ButtonOn(asortion.SmenaButName[7],asortion.SmenaButPrice[7]);
打破
外壳R.id.按钮9:
ButtonOn(asortion.SmenaButName[8],asortion.SmenaButPrice[8]);
打破
}
}
@凌驾
创建时受保护的void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.smena);
Intent i=getIntent();
asortion=(Nomenklatura)LocalPersistence.readObjectFromFile(这个,文件名);
adapter=newarrayadapter(this,R.layout.item,R.id.tvText,asortion.data);
adapter1=新阵列适配器(this,R.layout.item,R.id.tvText,asortion.data1);
tv1=(TextView)findViewById(R.id.textView1);
gvMain=(GridView)findViewById(R.id.gridView1);
gvMain.setAdapter(适配器);
gvMain1=(GridView)findViewById(R.id.gridView11);
GVMAIN 1.设置适配器(适配器1);
gvMain2=(GridView)findViewById(R.id.gridView2);
if(asortion.data2.size()0)
{   
Sdacha=asortion.data2.get(3);
sd=Double.parseDouble(asortion.data2.get(1));
if(Double.parseDouble(asortion.data2.get(3))>0)
SD=双
 if(i.getExtras().containsKey("Napitki"))
      {
        ArrayList<String> NapitkiList=new ArrayList<String>();    
        NapitkiList=i.getExtras().getStringArrayList("Napitki") ;
            for(String item : NapitkiList)
            {
                String Art=Asortiment.GetArtByName(item);
                String [] np=Asortiment.GetNamePriceByArt(Art);
            ButtonOn (np[0],np[1]);
            }
      }
    if(i.getExtras().containsKey("Zhevacki"))
      {
        ArrayList<String> ZhevackiList=new ArrayList<String>();   
        ZhevackiList=i.getExtras().getStringArrayList("Zhevacki") ;
            for(String item : ZhevackiList)
            {
                String Art=Asortiment.GetArtByName(item);
                String [] np=Asortiment.GetNamePriceByArt(Art);
            ButtonOn (np[0],np[1]);
            }   
      }