在android中更改单独活动中的文本视图
我有一个从数据库中提取信息的登录页面,然后我想使用这些信息来填充新页面/活动上的不同文本视图。我可以在我有提交按钮的活动上获得要更改的textview,但当我尝试在第二个活动上更改textview时,它只是崩溃了(应用程序意外停止) 以下是我更改textview的代码(其中txtID是我在单独活动中的textview) 用于单独活动的我的xml在android中更改单独活动中的文本视图,android,android-activity,textview,Android,Android Activity,Textview,我有一个从数据库中提取信息的登录页面,然后我想使用这些信息来填充新页面/活动上的不同文本视图。我可以在我有提交按钮的活动上获得要更改的textview,但当我尝试在第二个活动上更改textview时,它只是崩溃了(应用程序意外停止) 以下是我更改textview的代码(其中txtID是我在单独活动中的textview) 用于单独活动的我的xml TextView test2 = (TextView) findViewById(R.id.txtID); test2.setText(test);
TextView test2 = (TextView) findViewById(R.id.txtID);
test2.setText(test);
<TextView android:text="TextView" android:id="@+id/txtID"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
哦,我的登录页面使用的是tableview,其余页面使用的是tabs。我对这个很陌生,所以如果这是一件简单的事情,我很抱歉,但如果您能提供任何帮助,我将不胜感激!!:-) 我可能会让每个单独的活动处理自己的显示,而不是让活动1直接更新活动2的显示,这看起来就像您正在做的那样 演示具有两个活动的应用程序,其中一个活动调用另一个活动,并传入数据。(查看Notepadv3中的onListItemClick。)您可以按照此模型将数据从活动1传递到活动2,然后活动2使用接收到的数据正确显示数据
如果您仍然有问题(比如您的应用程序崩溃),那么请发布复制您的问题所需的完整的最少代码。请注意记事本教程,并包括调试步骤,这可能有助于隔离确切的问题。Andy。。。如果您试图在另一个活动中直接触摸UI小部件,您的应用程序将崩溃。在那里,意外地做了那件事。相反,考虑在活动之间传递一个不可变的状态对象。例如,可以使用startActivityForResult完成此操作。我有一些示例代码。您不想直接接触其他活动的UI元素。您可以利用来来回传递信息。以下是一个例子: 假设我们有活动A,它有一些信息作为一个字符串,它想传递成为活动B中TextView的文本
//Setup our test data
String test = "Some text";
//Setup the bundle that will be passed
Bundle b = new Bundle();
b.putString("Some Key", test);
//Setup the Intent that will start the next Activity
Intent nextActivity = new Intent(this, ActivityB.class);
//Assumes this references this instance of Activity A
nextActivity.putExtras(b);
this.startActivity(nextActivity);
现在在活动B的onCreate方法中,我们可以获取该字符串并将其作为文本分配给TextView,就像您所做的那样
public void onCreate(Bundled savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //Setup some layout, set to your own
String test = getIntent().getExtras().getString("Some Key");
TextView test2 = (TextView) findViewById(R.id.txtID);
test2.setText(test);
}
这是一种享受。不过我对它做了一点修改,设置了一个bundle,并将其传递给我的选项卡式活动,然后在这里我将bundle拆分,然后将每个bundle传递给相应的活动,在那里我可以拉出单独的字符串等以供使用!再次感谢你的帮助!!谢谢你的帮助,我将在下周浏览教程,希望能更好地理解这些东西!谢谢Jal,下周我会看一看你的教程!!