質問

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>
役に立ちましたか?

解決

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);

他のヒント

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.--

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top