传递Object toString以分隔TextViews

时间:2017-11-10 17:49:29

标签: android object android-edittext textview

我试图弄清楚如何将对象的toString传递给不同的TextViews。下面我有我现在正在做的事情,它将我的EditText输入从主活动发送到显示活动,但它只针对我编码它的第一个字段。问题是,我无法弄清楚如何将代码推送到单独的TextViews。

package example.com.inclassweek32;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Button button;
    EditText editText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.buttonSubmit);
        editText = (EditText) findViewById(R.id.editTextName);

        button.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(this, DisplayActivity.class);

        User user = new User();
        user.setName(editText.getText().toString());

        intent.putExtra("NAME", user);

        startActivity(intent);
    }
}
--------------------------------------------------------------------
package example.com.inclassweek32;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class DisplayActivity extends AppCompatActivity {
    TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display);

        Intent intent = getIntent();

        User user = (User) intent.getSerializableExtra("NAME");

        textView = findViewById(R.id.textViewName);
        textView.setText(user.toString());


    }
}
--------------------------------------------------------------------
package example.com.inclassweek32;

import java.io.Serializable;

public class User implements Serializable {
    String name;
    String email;

    @Override
    public String toString() {
        return name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

1 个答案:

答案 0 :(得分:0)

我添加了下面的代码来解决这个问题。我必须为每个值设置一个新的textview和edittext。

package example.com.inclassweek32;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

import org.w3c.dom.Text;

public class DisplayActivity extends AppCompatActivity {
    TextView textView;
    TextView textView1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_display);

        Intent intent = getIntent();

        User user = (User) intent.getSerializableExtra("NAME");

        textView = findViewById(R.id.textViewName);
        textView.setText(user.getName().toString());

        textView1 = findViewById(R.id.textViewEmail);
        textView1.setText(user.getEmail().toString());


    }
}

--------------------------------------------

package example.com.inclassweek32;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Display;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Button button;
    EditText editText;
    EditText editText1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.buttonSubmit);
        editText = (EditText) findViewById(R.id.editTextName);
        editText1 = (EditText) findViewById(R.id.editTextEmail);

        button.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(this, DisplayActivity.class);

        User user = new User();
        user.setName(editText.getText().toString());
        user.setEmail(editText1.getText().toString());

        intent.putExtra("NAME", user);
        intent.putExtra("EMAIL", user);

        startActivity(intent);
    }
}

相关问题