android - 如何将数据从 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.
}
}
任何人都可以帮助我,谢谢。
解决方案
尝试
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);
}
}
推荐阅读
- python - 有没有办法评估 dict 中的组值并将它们附加到几个列表中
- javascript - DataTables 无法在 Edge 中对“日期”列类型进行排序
- flutter - Flutter Layout:在带有盒子约束的容器内伸缩之间的空间
- spring-data-jdbc - Spring data jdbc:如何使用来自 org.springframework.data.geo 包的 Point
- python - 如何使用 subprocess.run 在另一个文件中回显(bash)
- sql - 在 Node.js sequelize 和 PostgreSQL 中使用多对多关联创建/更新
- javascript - 如何单击输入字段内的字形图标
- android - 编译时android内核'rnd'可能使用未初始化错误
- ios - SwiftUI 和 ScrollView:设备旋转后视图消失
- unity3d - UnityEvent 将 Object 作为参数返回,而不是 GameObject