0

我的应用程序有 2 个布局(主布局)和(首选项(首选项)布局)。

当 MainActivity 加载时,我设置 setContentView(R.layout.main); - 主要布局

然后我需要在首选项布局中为 TextView 设置文本,但它永远不会被设置。

LayoutInflater factory = getLayoutInflater();
 View inflate = factory.inflate(R.layout.prefs, null);
    TextView eSerial = (TextView) inflate.findViewById(R.id.editTextSerial);
    mSerial = "Test"; 
    eSerial.setText(mSerial);

我进入首选项页面的方式是使用菜单,然后页面加载而不更改 TextView

我已经搜索并没有找到答案。

请帮忙。

谢谢你。

4

2 回答 2

2

简短的回答:你不能这样做。

长答案:

如果您自己启动首选项页面,则必须创建一个 Intent 来执行此操作。调用 putExtra() 将您的文本存储在该意图中。在您的 PreferenceActivity 中,调用 getIntent().getStringExtra() 以获取文本,然后将其放入您的 TextView。

于 2013-03-21T03:07:38.973 回答
2

当菜单启动您的首选项活动时,您可以使用值填充视图。user1853479 指出了这样做的一种方法,即将值添加到意图中。假设您要存储这些首选项以供将来运行,您还可以为该特定运行设置任何首选项并将它们保存在本地存储中。另一种方法是创建一个单例来存储您的设置,在您的应用程序启动时加载它,根据需要进行修改和保存,并从您的任何活动中访问它。

于 2013-03-21T03:48:16.743 回答