我一直在寻找答案,并尝试过很多东西,但没有任何工作......
所以,我正在做我认为简单的应用程序(我刚开始学习)
所以我有一个活动将一些字符串发送到另一个字符串,其中一些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);
}
}
答案 0 :(得分: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的布局。