Sto creando una applicazione dove la pagina principale è un menu con una serie di button. Al click su ognuno ho necessità di avviare una nuova activity contenente view differenti dalla prima.
Dove definisco queste seconde view?
Sto creando una applicazione dove la pagina principale è un menu con una serie di button. Al click su ognuno ho necessità di avviare una nuova activity contenente view differenti dalla prima.
Dove definisco queste seconde view?
fai un altro layout xml per la seconda activity dove definisci tutte le tue view.
ad esempio altro_layout.xml . poi nella nuova activity anzichè fare setContentView(R.layout.main) in onCreate specificherai il nuovo layout ossia setContentView(R.layout.altro_layout)
ma come fai a tornare dall'attività secondaria in quella principale??
le activity vengono "impilate" dal sistema in un task.. che è un pò come una successione di pagine web. Per tornare indietro il comportamento standard che l'utente si aspetta è quello di premere il tasto back e tornare a quella di prima.
Questi comportamenti comunque sono personalizzabili. Ad esempio puoi far partire l'activity secondaria di modo che se l'utente preme back poi non trova più niente e si ritrova nella home del dispositivo.
se proprio vuoi tornare manualmente all'attività di prima puoi sempre lanciarla di nuovo con uno startActivity
tu dici in questo modo??? Qesta è l'attività principale:
1package it.ioprogrammo.subactivitydemo;
2import android.app.Activity;
3import android.content.Intent;
4import android.os.Bundle;
5import android.view.View;
6import android.widget.Button;
7
8
9public class MainActivity extends Activity {
10
11public void onCreate(Bundle savedInstanceState) {
12super.onCreate(savedInstanceState);
13Button button = new Button(this);
14button.setText("Lancia SubActivity");
15button.setOnClickListener(new View.OnClickListener() {
16public void onClick(View v) { startSubActivity(); }});
17setContentView(button);
18}
19
20private void startSubActivity() {
21Intent intent = new Intent(this, SubActivityDemo_Activity.class);
22startActivity(intent);
23}
24
25
26}
27
Questa è quella secondaria:
201package it.ioprogrammo.subactivitydemo;
2import android.app.Activity;
3import android.os.Bundle;
4import android.view.View;
5import android.widget.Button;
6
7public class SubActivityDemo_Activity extends Activity
8{
910protected void onCreate(Bundle savedInstanceState){
11super.onCreate(savedInstanceState);
12Button button = new Button(this);
13button.setText("Termina SubActivity");
14button.setOnClickListener(new View.OnClickListener()
15{
16public void onClick(View v) {finish();}});
17setContentView(button); }
18
19
20}
Ho provato ad esegurie ma mi da errore!! dove sto sbagliando??
Hai dichiarato la seconda activity nel manifest?
si questo è il mio manifest...mi da solo un piccolo warning all'inizio con qesta scritta "No grammar constraints (DTD or XML schema) detected for the document." però me lo fa partire e poi mi da errore a run-time
221
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3package="it.ioprogrammo.subactivitydemo"
4android:versionCode="1"
5android:versionName="1.0">
6<application android:icon="@drawable/icon"
7android:label="@string/app_name">
8<activity android:name=".MainActivity"
9android:label="@string/main_activity_label">
10<intent-filter>
11<action android:name="android.intent.action.MAIN" />
12<category
13android:name="android.intent.category.LAUNCHER" />
14</intent-filter>
15</activity>
16<activity android:name=".SubActivity"
17android:label="@string/sub_activity_label"></activity>
18</application>
19<uses-sdk android:minSdkVersion="3" />
20</manifest>
21
22
secondo me sbaglio nell'utilizzo dell'intent...non so davvero cosa fare(
come ho fatto a non accorgermene prima!!!adesso cmq va alla grandeeee!! grazieee
![]()