Pregunta

I was making a program of checkbox in Android, I'm using Eclipse as an IDE. But it's giving an error and "R.java" file deleted automatically, can anyone resolve my issue? thanks in advances.

Here is my program:

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;

public class Checkbx  extends Activity {

  private CheckBox chkIos, chkAndroid, chkWindows;
  private Button btnDisplay;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addListenerOnChkIos();
    addListenerOnButton();
  }

  public void addListenerOnChkIos() {

    chkIos = (CheckBox) findViewById(R.id.chkIos);

    chkIos.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
                //is chkIos checked?
        if (((CheckBox) v).isChecked()) {
            Toast.makeText(checkbx.this,
               "Bro, try Android :)", Toast.LENGTH_LONG).show();
        }

      }
    });

  }

  public void addListenerOnButton() {

    chkIos = (CheckBox) findViewById(R.layout.chkIos);
    chkAndroid = (CheckBox) findViewById(R.layout.chkAndroid);
    chkWindows = (CheckBox) findViewById(R.layout.chkWindows);
    btnDisplay = (Button) findViewById(R.layout.btnDisplay);

    btnDisplay.setOnClickListener(new OnClickListener() {

          //Run when button is clicked
      @Override
      public void onClick(View v) {

        StringBuffer result = new StringBuffer();
        result.append("IPhone check : ").append(chkIos.isChecked());
        result.append("\nAndroid check : ").append(chkAndroid.isChecked());
        result.append("\nWindows Mobile check :").append(chkWindows.isChecked());

        Toast.makeText(checkbx.this, result.toString(),
                Toast.LENGTH_LONG).show();

      }
    });

  }
}

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <CheckBox
        android:id="@+id/chkIos"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/chk_ios" />

    <CheckBox
        android:id="@+id/chkAndroid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/chk_android"
        android:checked="true" />

    <CheckBox
        android:id="@+id/chkWindows"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/chk_windows" />

    <Button
        android:id="@+id/btnDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_display" />

</LinearLayout>
¿Fue útil?

Solución

this is the wrong

chkIos = (CheckBox) findViewById(R.layout.chkIos);
chkAndroid = (CheckBox) findViewById(R.layout.chkAndroid);
chkWindows = (CheckBox) findViewById(R.layout.chkWindows);
btnDisplay = (Button) findViewById(R.layout.btnDisplay);

change like this

chkIos = (CheckBox) findViewById(R.id.chkIos);
chkAndroid = (CheckBox) findViewById(R.id.chkAndroid);
chkWindows = (CheckBox) findViewById(R.id.chkWindows);
btnDisplay = (Button) findViewById(R.id.btnDisplay);

Otros consejos

change this :

chkIos = (CheckBox) findViewById(R.layout.chkIos);
chkAndroid = (CheckBox) findViewById(R.layout.chkAndroid);
chkWindows = (CheckBox) findViewById(R.layout.chkWindows);
btnDisplay = (Button) findViewById(R.layout.btnDisplay);

to this :

chkIos = (CheckBox) findViewById(R.id.chkIos);
chkAndroid = (CheckBox) findViewById(R.id.chkAndroid);
chkWindows = (CheckBox) findViewById(R.id.chkWindows);
btnDisplay = (Button) findViewById(R.id.btnDisplay);

you are finding ids not layouts. you have written R.layout.-- , you need R.id.--

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top