首页 > 解决方案 > 如何将数据从 textview 传递到使用意图编辑文本到另一个活动

问题描述

我在适配器中使用列表视图,我需要传递列表视图的文本视图以将文本从一个活动编辑到另一个活动以更新项目,但是当我单击项目时它会停止活动。我在 textviews 中有所有项目。

 ListView yourListView = (ListView) findViewById(R.id.listview);

// get data from the table by the ListAdapter

               MyAdapter myAdapter=new MyAdapter(all_users_data.this, allevent);
                yourListView .setAdapter(myAdapter);
                listView.setOnItemClickListener(new AdapterView.OnItemClickListener()
                {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {
                        TextView name = view.findViewById(R.id.name);
                        TextView time = view.findViewById(R.id.time);
                        TextView date = view.findViewById(R.id.date);
                        TextView type = view.findViewById(R.id.type);
                        Intent intent = new Intent(all_users_data.this,Singleitem.class);
                        intent.putExtra( "name", name.getText().toString());
                         intent.putExtra("time", time.getText().toString());
                        intent.putExtra("date", date.getText().toString());
                        intent.putExtra("type", type.getText().toString());
                        startActivity(intent);
                    }
                });

活动二

package com.example.eventreminder;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.widget.EditText;

public class Singleitem extends AppCompatActivity {
    EditText editname;
    EditText edittime;
    EditText editdate;
    EditText edittype;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_singleitem);
        editname = findViewById(R.id.name);
        edittime = findViewById(R.id.time);
        editdate = findViewById(R.id.date);
        edittype = findViewById(R.id.type);

    Intent intent = getIntent();
        String n1= getIntent().getStringExtra("name");
        editname.setText(n1);
        String t =  getIntent().getStringExtra("time");
        edittime.setText(t);
        String d=  getIntent().getStringExtra("date");
        editdate.setText(d);
        String t1 = getIntent().getStringExtra("type");
        edittype.setText(t1);
        // Receiving value into activity using intent.
      ;

        // Setting up received value into EditText.

    }
}

任何人都可以帮助我,谢谢。

标签: android

解决方案


尝试

 ListView yourListView = (ListView) findViewById(R.id.listview);


                        TextView name = findViewById(R.id.name);
                        TextView time = findViewById(R.id.time);
                        TextView date = findViewById(R.id.date);
                        TextView type = findViewById(R.id.type);


               MyAdapter myAdapter=new MyAdapter(all_users_data.this, allevent);
                yourListView.setAdapter(myAdapter);

                yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener()
                {

                    @Override
                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {

                        Intent intent = new Intent(all_users_data.this,Singleitem.class);
                        intent.putExtra("name", name.getText().toString());
                        intent.putExtra("time", time.getText().toString());
                        intent.putExtra("date", date.getText().toString());
                        intent.putExtra("type", type.getText().toString());
                        startActivity(intent);
                    }
                });

单项.java:

public class First extends AppCompatActivity {
    EditText editname;
    EditText edittime;
    EditText editdate;
    EditText edittype;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_singleitem);
        editname = findViewById(R.id.name);
        edittime = findViewById(R.id.time);
        editdate = findViewById(R.id.date);
        edittype = findViewById(R.id.type);

        Bundle bundle = getIntent().getExtras();
        String n1 = bundle.getString("name");
        String t = bundle.getString("time");
        String d =  bundle.getString("date");
        String t1 = bundle.getString("type");
        editname.setText(n1);
        edittime.setText(t);
        editdate.setText(d);
        edittype.setText(t1);

    }
}

推荐阅读