1

对不起我的英语不好。我正在开发一个 Android 应用程序,它的第一个活动有一个密码文本字段。根据密码,应用程序进入特定活动。我的问题是我有几个要打开的活动,但我认为只有一个活动和几个布局更有效,然后,根据密码,应用程序打开相同的活动,但信息的布局不同。但我不知道该怎么做。

我的代码是:

package com.example.museoprueba;

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

public class interfazSq extends Activity {

    private EditText hola;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.interfazsq);
        hola=(EditText)findViewById(R.id.hola);
    }

    public void lAcuriosidades(View v) {



        String clave=hola.getText().toString();


        if (clave.equals("cebra")) {
            Intent i=new Intent(this,sqCebra.class);
            startActivity(i);
        }
        else if (clave.equals("jaguar")){
            Intent i=new Intent(this,sqJaguar.class);
            startActivity(i);
        }

    }

    }
4

2 回答 2

0

使用 Intent.setExtra 将您的配置数据传递到活动中。然后在您调用的活动中使用 getIntent 来调整您的显示。

于 2013-08-31T17:08:40.383 回答
0

您可以使用Fragment在单个 Activity 中动态更改不同的布局:

  1. 扩展FragmentActivity而不是 Activity。
  2. 在您的 Activity 布局 (interfazsq.xml) 中,添加任何布局之一,例如 LinearLayout、RelativeLyaout...等
  3. 在您的 interfazSq 类中,将该布局膨胀为ViewGroup
  4. 使用FragmentManager将 Fragment 动态添加到该 ViewGroup 中。您不必使用 Intent 或离开当前 Activity 来为不同的密码条件显示不同的布局。

http://developer.android.com/guide/components/fragments.html#Adding

于 2013-08-31T17:14:08.977 回答