Начало деятельности в другом классе в Android - PullRequest
0 голосов
/ 16 мая 2011

Я изучаю и изучаю, как запрограммировать телефон Android, и сейчас у меня есть 2 класса (MainActivity и SubActivity и 2 макета (основной и подчиненный).

В MainActivity у меня есть кнопка, когдаЯ нажимаю на кнопку, хочу показать макет субактивности и выполнить действие SubActivity, чтобы я мог нажать на кнопку там и вернуться к MainActivity.

Ниже приведен код для MainActivity

package com.test.activities;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button btnSubActivity = (Button)findViewById(R.id.btnCallSubActivity);
    btnSubActivity.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent intent = new Intent();
            intent.setClass(getApplicationContext(), SubActivity.class);
            startActivity(intent);
        }
    });
}

}

Ниже приведен код в SubActivity

package com.test.activities;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class SubActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.subactivity);


}

}

Ниже приведен макет main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
>
<Button android:text="Call Sub Activity" 
    android:id="@+id/btnCallSubActivity" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content">
</Button>

Ниже приведен макет SubActivity

<?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">
    <Button android:text="Call Main Activity" 
        android:id="@+id/btnCallMainActivity" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content">
   </Button>
</LinearLayout>

Я получаю ошибку во время выполнения, когда нажимаю кнопку в главном макете. Что я сделал не так?

Ответы [ 3 ]

0 голосов
/ 16 мая 2011

Пожалуйста, предоставьте логи.Но перед проверкой, если вы забыли добавить SubActivity к AndroidManifest.xml, вот так:

<activity android:name=".SubActivity" android:label="Some label"/>
0 голосов
/ 09 июня 2012
Intent i = new Intent("com.Android.SubActivity");
StartActivity(i);

// Внутри кавычек выведите путь к пакету.Надеюсь, это поможет

0 голосов
/ 16 мая 2011

Вы пропустили android:orientation="vertical" во втором линейном макете.

...