我想在Android Studio中使用两个按钮

时间:2015-11-19 12:37:42

标签: android button android-studio

我是Android Studio的初学者。我想使用2按钮,但它始终是一个错误。我正在使用另一台计算机,因此无法向您发送代码视图。 如果您有关于此主题的示例代码,您能帮助我吗?

4 个答案:

答案 0 :(得分:1)

这是简单的使用方式按钮。

在布局文件中

 <Button
       android:id="@+id/button1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Button 1"/>

<Button
       android:id="@+id/button2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="Button 2"/>

定义按钮

Button btn1 = (Button)findViewById(R.id.button1);
Button btn2 = (Button)findViewById(R.id.button2);

点击按钮事件

btn1.setOnClickListener(new View.OnClickListener() {

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

    }
});

btn2.setOnClickListener(new View.OnClickListener() {

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

        }
    });

答案 1 :(得分:0)

这直接来自android文档。链接在这里: http://developer.android.com/reference/android/widget/Button.html

     public class MyActivity extends Activity {
     protected void onCreate(Bundle icicle) {
     super.onCreate(icicle);

     setContentView(R.layout.content_layout_id);

     final Button button = (Button) findViewById(R.id.button_id);
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // Perform action on click
         }
     });
   }
 }

所以你从xml中检索一个按钮,其中包含&#34; findViewById&#34;方法。或者您可以通过初始化按钮以编程方式添加视图

Button bt = new Button(this); //"this" if inside a view or activity class or        you have to get context somehow
ViewGroup.LayoutParams vl = new ViewGroup.LayoutParams(height, width);
bt.setLayoutParams(vl);

ViewGroup vg = new ViewGroup(this);
vg.addView(bt);

答案 2 :(得分:0)

试试这个:

第一步 - 使用两个按钮

创建XML布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="net.napples.myapplication.MainActivity">

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="BUTTON 1"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="BUTTON 2"
        android:layout_below="@+id/button1"
        android:layout_centerHorizontal="true"
        />

</RelativeLayout>

第二步 - 为活动创建一个java类

public class MainActivity extends AppCompatActivity {

    /* UI Views */
    Button mButton1;
    Button mButton2;

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

        // Get UI references
        findViewsById();

        // Set listener for the Views (like ImageView, TextView, Button, etc)
        setListenerForViews();
    }

    private void findViewsById() {

        try {
            /* Get a reference for each button */
            mButton1 = (Button) findViewById(R.id.button1);
            mButton2 = (Button) findViewById(R.id.button2);

        } catch (NullPointerException exc) {
            exc.printStackTrace();
        }

    }

    private void setListenerForViews() {

        mButton1.setOnClickListener(myListener);
        mButton2.setOnClickListener(myListener);

    }

    View.OnClickListener myListener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            // See Step 3
        }
    };
}

第三步 - 创建一个监听器来管理每个按钮上的点击

View.OnClickListener myListener = new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if (view == mButton1)
            /* Your code, for example start a new Activity */
            startActivity(this, SecondActivity.class);
        if (view == mButton2) 
            /* Your code, for example set text for a TextView */
            mTextView1.setText("New text");
    }
};

答案 3 :(得分:0)

谢谢你的所有答案。我试图解决使用两个按钮写文本的问题。但我这样解决了;

    final TextView text= (TextView)findViewById(R.id.text);
    final TextView text2=(TextView)findViewById(R.id.text2);
    Button buton2= (Button)findViewById(R.id.buton2);
    Button buton=(Button)findViewById(R.id.buton);
    buton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            text.setText("Hi!");
        }
    });

    buton2.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            text2.setText("Whats's up?");
        }
    });