我正在尝试创建一个联系人管理列表应用程序,在该应用程序中,当您单击“添加联系人”按钮时,它将带您进入另一个活动,然后在返回到另一个活动时,为该联系人创建一个textview。但是,当我从活动中返回时,我的textView没有出现在“添加联系人”按钮上方。这是我的主要活动代码。
package com.example.contactmanagement;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
String fname, lname, phoneNumber, email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
protected void onResume(Bundle savedInstanceState){
Bundle bundle = getIntent().getExtras();
fname = bundle.getString("fname");
lname = bundle.getString("lname");
phoneNumber = bundle.getString("phoneNumber");
email = bundle.getString("email");
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
LinearLayout layout = (LinearLayout) findViewById(R.id.contactList);
TextView textView = new TextView(this);
textView.setLayoutParams(params);
textView.setText(fname + lname);
layout.addView(textView);
}
public void onClick(View view) {
startActivity(new Intent("com.example.contactmanagement.addContact"));
}
}
答案 0 :(得分:0)
您必须在第二个活动addContact中创建文本视图,并使用putextras和getextras hope将值从第一个活动传递到第二个活动,以便它对您有用
public void onClick(View view) {
Intent intent = new Intent(this, addContact.class);
startActivity(intent);
}
答案 1 :(得分:0)
这是显示文字的答案
MainActivity.class
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
这里是具有XML的显示活动,可以动态添加视图
代码:
public class DisplayMessageActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display);
Intent intent = getIntent();
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
LinearLayout linearParentView = (LinearLayout) findViewById(R.id.linearParent);
TextView dynamicTextView = new TextView(this);
dynamicTextView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
dynamicTextView.setText(message);
linearParentView.addView(dynamicTextView);
}
}
和XML
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearParent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
答案 2 :(得分:0)
首先,“ onResume”方法的签名错误。它不包含bundle参数。 其次,您应该使用重写此方法,(onResume方法不用于在活动之间发送和接收结果)。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
}
从另一个活动获取结果。您可以在此处找到有关活动之间的发送方式和结果的更多信息。
Getting a Result from an Activity。
由于您的onResume
方法从未被调用,因此您目前未收到任何文本。