简体   繁体   English

按钮无法打开,Eclipse制作的Android应用

[英]Buttons does not open,android app made by eclipse

I have made an app with a bunch of buttons in it, but only the first and second one of them works.What shall I do? 我制作了一个带有很多按钮的应用程序,但是只有第一个和第二个可以工作。我该怎么办?

here's my code: 这是我的代码:

package com.metoo.codedetective;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
 import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Button ceo = (Button) findViewById(R.id.codebutton);
    ceo.setOnClickListener(new OnClickListener() {

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

            startActivity(new Intent(MainActivity.this, Etelaateomoomi.class));



            Button fr = (Button) findViewById(R.id.button2);
            fr.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    // TODO Auto-generated method stub
                    startActivity(new Intent(MainActivity.this, Factoryreset.class));


                    Button pe = (Button) findViewById(R.id.button5);
                    pe.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View arg0) {
                            // TODO Auto-generated method stub
                            startActivity(new Intent(MainActivity.this, Endcallpower.class));


                            //button camera information
                            Button ci= (Button) findViewById(R.id.button4);
                            ci.setOnClickListener(new OnClickListener() {

                                @Override
                                public void onClick(View arg0) {
                                    // TODO Auto-generated method stub
                                    startActivity(new Intent(MainActivity.this, Camerainformation.class));

                                    //backup button
                                    Button bt= (Button) findViewById(R.id.button6);
                                    bt.setOnClickListener(new OnClickListener() {

                                        @Override
                                        public void onClick(View arg0) {
                                            // TODO Auto-generated method stub
                                            startActivity(new Intent(MainActivity.this, backuptaking.class));




                                        //testing button
                                            Button tb = (Button) findViewById(R.id.button7);
                                            tb.setOnClickListener(new OnClickListener() {

                                                @Override
                                                public void onClick(View arg0) {
                                                    // TODO Auto-generated method stub
                                                    startActivity(new Intent(MainActivity.this, Testing.class));


        //sakht afzari button
                                                    Button sa=(Button) findViewById(R.id.button9);
                                                    sa.setOnClickListener(new OnClickListener() {

                                                        @Override
                                                        public void onClick(View arg0) {
                                                            // TODO Auto-generated method stub
                                                            startActivity(new Intent(MainActivity.this, Sakhtafzari.class));

                                                            //imei
                                                            Button imei = (Button) findViewById(R.id.button10);
                                                            imei.setOnClickListener(new OnClickListener() {

                                                                @Override
                                                                public void onClick(View arg0) {
                                                                    // TODO Auto-generated method stub
                                                                    startActivity(new Intent(MainActivity.this, Imei.class));
                                                                }
                                                            });





                                                        }
                                                    });









                                                    }
                                              });

                                        }
                                    });







                                }
                            });

                        }
                    });

                }
            });



        }
    });




}








@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

I have added all of the classes to the manifest but I get nothing. 我已将所有类添加到清单中,但一无所获。 Why? 为什么?

You put inside the first onClickListener all your stuff, you should not do this. 您将所有内容放入第一个onClickListener内,而不应该这样做。 Try this: 尝试这个:

Button fr = (Button) findViewById(R.id.button2);
fr.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, Factoryreset.class));
    }  
}
// end onClickListener

// second button
Button pe = (Button) findViewById(R.id.button5);
pe.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        startActivity(new Intent(MainActivity.this, Endcallpower.class));
    }
}
// end second onclicklistener

// etc.

From your code, your have multiple views with onClickListener method. 从您的代码中,您可以使用onClickListener方法获得多个视图。 Maybe you should do this it's better to handle onclick events from several views: 也许您应该这样做,最好从多个视图处理onclick事件:

// implement an onClickListener method
public class MainActivity extends Activity implements OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // find ids (for all your views) 
        Button ceo = (Button) findViewById(R.id.codebutton);
        Button fr = (Button) findViewById(R.id.button2);
        Button pe = (Button) findViewById(R.id.button5);
        // etc.

        // then set the implementation (for all your views) 
        ceo.setOnClickListener(this);
        fr.setOnClickListener(this);
        pe.setOnClickListener(this);
        // etc.

    }

    // call onClick method
    @Override
    public void onClick(View v) {
        // receive the button clicked by its id
        switch(v.getId()) {
            // select the id
            case R.id.codebutton:
                // do some stuff
                break;
            case R.id.button2:
                // do some stuff
                break;
            case R.id.button5:
                // do some stuff
                break;
            // etc.
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM