【问题标题】:Different layouts in the same activity同一活动中的不同布局
【发布时间】:2013-09-04 05:18:32
【问题描述】:

对不起我的英语。我正在开发一个 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);
        }

    }

    }

【问题讨论】:

  • 你可以将密码作为字符串传递,额外启动通用活动,一旦进入,获取密码并选择在那里使用哪个视图。
  • 谢谢,但是我如何在其他活动中获得密码?
  • (String)getIntent().getSerializableExtra(theNameYouGaveIt);
  • 谢谢你!我试试看。

标签: android layout android-activity passwords


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    您可以使用 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      相关资源
      最近更新 更多