Autore Topic: Problema su OnCreate "layout cannot be resolved or is not a field"  (Letto 914 volte)

Offline andrea_g

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • andreagorfer
    • @andreagorfer
    • Mostra profilo
    • Bondon's Crew
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Max OS X 10.9.2
0
Mi appare questo problema senza un apparente motivo. Non è cambiato nulla dall'altro giorno, che andava. Ho cercato a destra e sinistra nel forum ma io, a differenza di quanto visto, non ho negli import "android.R" ma il mio package. Cosa può essere la causa del mio problema?
Andrea

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #1 il: 03 Aprile 2013, 17:07:28 CEST »
0
Mi appare questo problema senza un apparente motivo. Non è cambiato nulla dall'altro giorno, che andava. Ho cercato a destra e sinistra nel forum ma io, a differenza di quanto visto, non ho negli import "android.R" ma il mio package. Cosa può essere la causa del mio problema?

la risorsa del layout c'è vero ? in res/layout/nomelayout.xml

Offline andrea_g

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • andreagorfer
    • @andreagorfer
    • Mostra profilo
    • Bondon's Crew
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Max OS X 10.9.2
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #2 il: 03 Aprile 2013, 17:14:36 CEST »
0
sì, in res/menu/layout. E non ci sono doppi ID che creano conflitti. :'(
Andrea

Offline Giamme

  • Nuovo arrivato
  • *
  • Post: 43
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC Magic
  • Play Store ID:
    appLOOPiamo
  • Sistema operativo:
    Windows 7
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #3 il: 03 Aprile 2013, 17:39:29 CEST »
0
Puoi postare il codice?
"Tutto ciò che è necessario per il trionfo del male è che gli uomini buoni non facciano nulla."
Edmund Burke

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #4 il: 03 Aprile 2013, 18:29:19 CEST »
0
sì, in res/menu/layout. E non ci sono doppi ID che creano conflitti. :'(

quindi è un layout per un menu che si chiama layout.xml giusto?

Offline andrea_g

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • andreagorfer
    • @andreagorfer
    • Mostra profilo
    • Bondon's Crew
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Max OS X 10.9.2
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #5 il: 04 Aprile 2013, 08:26:16 CEST »
0
@felasandroid : si chiama activity_operazioni_pc220.xml
@ Giamme: si hai ragione. Eccolo:
Questo è il .java che mi da errore al punto "setContentView(R.layout.activity_operazioni_pc220);", a tutti gli R.id e anche al punto "public boolean onCreateOptionsMenu(Menu menu) ":

Codice (XML): [Seleziona]
package example.pc220.cbe;

import android.app.Activity;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.ToggleButton;

public class OperazioniPc220 extends Activity {
        int a,b,c;
        String ips=null;
        WifiManager wifi;
        WifiInfo info;
        ImageButton  tbatt,tbattserv,th2o;
        TextView display1,display2,display3,text,ipv;
        ToggleButton pump,light,volt;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_operazioni_pc220);
                a=0;
                b=0;
                c=0;
                tbatt=(ImageButton) findViewById (R.id.battery);
                tbattserv=(ImageButton) findViewById (R.id.battserv);
                th2o=(ImageButton) findViewById (R.id.h2olevel);
                display1=(TextView) findViewById (R.id.tvbatt);
                display2=(TextView) findViewById (R.id.tvh2o);
            display3=(TextView) findViewById (R.id.tvbattserv);
            pump=(ToggleButton) findViewById (R.id.tgbpump);
            light=(ToggleButton) findViewById (R.id.tgblight);
            volt=(ToggleButton) findViewById (R.id.tgb12v);
           
                tbatt.setOnClickListener(new View.OnClickListener() {  
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                a=100;
                                display1.setText("Livello batteria motore:" + a);
                        }
                });
           
            tbattserv.setOnClickListener(new View.OnClickListener() {  
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                c=87;
                                display3.setText("Livello batteria servizi:" + c);
                        }
                });
            th2o.setOnClickListener(new View.OnClickListener() {       
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                b=44;
                                display2.setText("Il livello dell'acqua è:" + b);
                               
                               
                        }
                });            
           
            ToggleButton pump = (ToggleButton) findViewById(R.id.tgbpump);
            pump.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        // The toggle is enabled
                    } else {
                        // The toggle is disabled
                    }
                }
            });
            ToggleButton volt = (ToggleButton) findViewById(R.id.tgb12v);
            volt.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        // The toggle is enabled
                    } else {
                        // The toggle is disabled
                    }
                }
            });
            ToggleButton light = (ToggleButton) findViewById(R.id.tgblight);
            light.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        // The toggle is enabled
                    } else {
                        // The toggle is disabled
                    }
                }
            });
        }
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.operazioni_pc220, menu);
                return true;
        }

}

L'xml è:

Codice (XML): [Seleziona]
<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:gravity="fill_horizontal"
   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=".OperazioniPc220" >
   
    <TextView
       android:id="@+id/tvtitle"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentTop="true"
       android:layout_centerHorizontal="true"
       android:text="@string/welcome"
       android:textAppearance="?android:attr/textAppearanceLarge" />

    <ImageButton
       android:id="@+id/battery"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/tvtitle"
       android:layout_below="@+id/tvtitle"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_battery"
       />
   
    <ImageButton
       android:id="@+id/battserv"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/battery"
       android:layout_below="@+id/battery"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_battery" />
   
    <ImageButton
       android:id="@+id/h2olevel"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/battserv"
       android:layout_below="@+id/battserv"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_h2olevel" />

    <ImageView
       android:id="@+id/pump"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/h2olevel"
       android:layout_alignRight="@+id/h2olevel"
       android:layout_below="@+id/h2olevel"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_h2o_comand" />

    <ImageView
       android:id="@+id/light"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/pump"
       android:layout_alignRight="@+id/pump"
       android:layout_below="@+id/pump"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_light" />

    <ImageView
       android:id="@+id/com12v"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/pump"
       android:layout_alignRight="@+id/pump"
       android:layout_below="@+id/light"
       android:layout_marginTop="15dp"
       android:src="@drawable/ic_launcher_12v" />

    <ImageView
       android:id="@+id/h20alarm"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignLeft="@+id/pump"
       android:layout_alignRight="@+id/pump"
       android:layout_below="@+id/com12v"
       android:layout_marginTop="15dp"
       android:src="@drawable/acque_grigie" />
   
    <ToggleButton
       android:id="@+id/tgbpump"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tvtitle"
       android:layout_alignTop="@+id/pump"
       android:layout_marginRight="1dp"
       android:textOn="Pompa acqua accesa"
       android:textOff="Pompa acqua spenta"
       />

    <ToggleButton
       android:id="@+id/tgblight"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tgbpump"
       android:layout_alignTop="@+id/light"
       android:textOn=" Luce esterna accesa"
       android:textOff=" Luce esterna spenta"
        />

    <ToggleButton
       android:id="@+id/tgb12v"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tgblight"
       android:layout_alignTop="@+id/com12v"
       android:textOn="    Servizi 12 V attivi   "
       android:textOff="  Servizi 12 V spenti  "
        />

    <TextView
       android:id="@+id/tvh2o"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tvbatt"
       android:layout_alignTop="@+id/h2olevel"
       android:layout_marginTop="18dp"
       android:text="@string/livh2o"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/tvbatt"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tvtitle"
       android:layout_alignTop="@+id/battery"
       android:layout_marginTop="18dp"
       android:text="@string/battmot"
       android:textAppearance="?android:attr/textAppearanceMedium" />
        andr
        <TextView
       android:id="@+id/tvbattserv"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignRight="@+id/tvbatt"
       android:layout_alignTop="@+id/battserv"
       android:layout_marginTop="18dp"
       android:text="@string/battserv"
       android:textAppearance="?android:attr/textAppearanceMedium" />
       
</RelativeLayout>

Se volete posto anche uno screenshot della situazione dei file a sinistra dello schermo in "Package Explorer". Non vorrei che, se il codice è giusto, ci sia casino lì dentro.
Andrea

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #6 il: 04 Aprile 2013, 09:21:01 CEST »
+1
in effetti il codice sembra giusto, ma ecco hai messo il layout dell activity dentro res/layout e il layout del menu dentro res/menu

Offline andrea_g

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • andreagorfer
    • @andreagorfer
    • Mostra profilo
    • Bondon's Crew
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Max OS X 10.9.2
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #7 il: 04 Aprile 2013, 09:32:04 CEST »
0
Ok, spostato ma temo manchi l'xml del menù,sbaglio? Come faccio ad aggiungerlo senza creare altri disastri?  :D Per lo screenshot vedi allegato.
Andrea

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #8 il: 04 Aprile 2013, 09:36:03 CEST »
+1
non sbagli, praticamente tu dichiari che c'è un R.menu.operazioni_pc220, però nel package non c'è, devi crearlo tasto dx su menu e poi new, other, Android Xml , poi ci metti il nome desiderato

Offline andrea_g

  • Utente junior
  • **
  • Post: 58
  • Respect: +1
    • andreagorfer
    • @andreagorfer
    • Mostra profilo
    • Bondon's Crew
  • Dispositivo Android:
    Galaxy S3
  • Sistema operativo:
    Max OS X 10.9.2
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #9 il: 04 Aprile 2013, 09:40:39 CEST »
0
Grazie mille! Fantastico!  :D :D :D
Andrea

Offline felasandroid

  • Utente normale
  • ***
  • Post: 345
  • Respect: +10
    • Github
    • balduzziantonio
    • balduzziantonio.unifi
    • Mostra profilo
  • Dispositivo Android:
    Huawei P8 Lite
  • Play Store ID:
    FelasTech
  • Sistema operativo:
    Windows 10
Re:Problema su OnCreate "layout cannot be resolved or is not a field"
« Risposta #10 il: 04 Aprile 2013, 09:59:06 CEST »
+1
Grazie mille! Fantastico!  :D :D :D

figurati!