0

我一直在寻找答案,并尝试了很多东西,但没有任何效果......

所以,我正在做我认为是一个简单的应用程序(我刚开始学习)

所以我有一个活动将几个字符串发送到另一个,其中几个 TextViews 应该将它们的值更改为新的字符串,但这没有发生。这里有代码:

public class LoginActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);


        if (savedInstanceState == null) {
            getFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }

        Intent intent = getIntent();
        String mail = intent.getStringExtra(MainActivity.MAIL);
        String password = intent.getStringExtra(MainActivity.PASSWORD);

        setContentView(R.layout.fragment_login);
        TextView displayMailSetter = (TextView) findViewById(R.id.mailView);
        displayMailSetter.setText(mail);
        displayMailSetter.postInvalidate();

        TextView displayPasswordSetter = (TextView)findViewById(R.id.passwordView);
        displayPasswordSetter.setText(password);
        displayPasswordSetter.postInvalidate();

        displayMailSetter.postInvalidate();

        setContentView(R.layout.activity_login);
    }
}
4

1 回答 1

1

尝试取出这些代码行:

displayMailSetter.postInvalidate();
// Don't take out your displayPasswordSetter initilization and setText

displayPasswordSetter.postInvalidate();

displayMailSetter.postInvalidate();

setContentView(R.layout.activity_login);

更改这些代码行:

        super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);

        super.onCreate(savedInstanceState);
    setContentView(R.layout.fragment_login);

并取出原件(就在意图之下)。

setContentView(R.layout.fragment_login);

问题是您将布局设置为 3 种不同的布局。第一个和第三个是相同的布局,但没有 TextViews。第一个和第三个是不必要的,你应该只设置一次布局。将其设置为 fragment_login 后,布局具有 TextViews,设置它们的文本,但布局随后更改为没有 TextViews 的布局。

于 2013-11-02T22:42:06.580 回答