Salve a tutti ho realizzato una piccola app per android molto semplice per capire il funzionamento degli OptionMenu...tuttavia quandro premo sul menu n2 (huho) il programma crasha. So che il problema è legato all'istanza ll, però non so come risolvere, potreste dirmi come fare? Posto il source
PS: Scusate per i nomi stupidi
MainActivity.java:
menu1.xml:codice:package org.me.provamenu; import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.RelativeLayout; public class MainActivity extends Activity { RelativeLayout ll; @Override public boolean onCreateOptionsMenu (Menu mymenu){ MenuInflater inf = getMenuInflater(); inf.inflate(R.menu.menu1, mymenu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item){ RelativeLayout ll = (RelativeLayout)findViewById(R.layout.main); if (item.getItemId()==R.id.n1){ setContentView(R.layout.main); } else if(item.getItemId()==R.id.n2){ ll = (RelativeLayout) findViewById(R.layout.main); if(ll.getVisibility()==0x0){ ll.setVisibility(0x4); } } return true; } @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); } }
main.xml:codice:<?xml version="1.0" encoding="UTF-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/n1" android:title="huhu" /> <item android:id="@+id/n2" android:title="huhò" /> </menu>
R.java:codice:<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">" <TextView android:id="@+id/huho" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Huhuhuhò"/> </RelativeLayout>
codice:package org.me.provamenu; public final class R { public static final class attr { } public static final class id { public static final int huho=0x7f050000; public static final int n1=0x7f050001; public static final int n2=0x7f050002; } public static final class layout { public static final int main=0x7f020000; } public static final class menu { public static final int menu1=0x7f040000; } public static final class string { public static final int app_name=0x7f030000; } }

LinkBack URL
About LinkBacks
Rispondi quotando


