I just started learning Computer Science and Android development. I've been going through some helloworld demos to try and learn.
So going wild, I tried to rewrite a program that has one button for two buttons using the onClickListener. While I don't have any compiling errors, my program is force closing on me:
01-05 11:20:33.968: E/AndroidRuntime(3257): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.multbuttontest/com.example.multbuttontest.MultiButtonActivity}: android.view.InflateException: Binary XML file line #16: Error inflating class button
My XML file looks like so (Sorry I suck at formatting):
<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=".MultiButtonActivity">
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/hello_world" />
<button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
<button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
and code:
package com.example.multbuttontest;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.Button;
public class MultiButtonActivity extends Activity implements View.OnClickListener{
Button button1, button2;
int touchCount1, touchCount2;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_multi_button);
    button1 = (Button) findViewById(R.id.button1);
    button1.setText( "Touch Button 1!");
    button1.setOnClickListener(this);
    button2 = (Button) findViewById(R.id.button2);
    button2.setText( "Touch Button 2!");
    button2.setOnClickListener(this);
}
public void onClick(View v){
    switch(v.getId()){
        case R.id.button1:
            touchCount1++;
            button1.setText("Touched b1 " + touchCount1 + " times(s)");
            break;
        case R.id.button2:
            touchCount2++;
            button2.setText("Touched b2 " + touchCount2 + " times(s)");
            break;
    }
}
}
This is strictly just for my learning purposes, and the code does suck. Any help would be appreciated.
It's not button, it's Button. The XML tag points to the java class in the framework. And Java is case sensitive.
<Button 
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With