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:
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);
}
}
menu1.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>
main.xml:
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>
R.java:
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;
}
}