在EditText输入信息后,点击Button按钮,就跳转到另外一个页面的Listview上显示出了,怎么做啊
7 个解决方案
#1
可以利用Intent发送数据,另外一个页面是Activity,./
总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.
总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.
#2
参考:
http://www.cnblogs.com/tdalcn/p/3467445.html
http://www.cnblogs.com/tdalcn/p/3467445.html
#3
这个是填入信息那个页面
这个是获取信息的页面
怎么显示到Listview上啊
越写越没思路了
package com.android.demo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.view.View.OnClickListener;
public class addmessage extends Activity {
private ListView listview;
private Button yes;
private Button no;
private EditText et_name;
private EditText et_address;
private EditText et_phone;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = (EditText)findViewById(R.id.et_name);
et_address = (EditText)findViewById(R.id.et_address);
et_phone = (EditText)findViewById(R.id.et_phone);
yes = (Button) findViewById(R.id.yes);
no = (Button) findViewById(R.id.no);
yes.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String name = et_name.getText().toString();
String address = et_address.getText().toString();
String phone = et_phone.getText().toString();
Intent intent = new Intent(addmessage.this, MainActivity.class);
intent.putExtra("name", et_name.getText().toString());
intent.putExtra("address", et_address.getText().toString());
intent.putExtra("phone", et_phone.getText().toString());
// Bundle bundle = new Bundle();
// bundle.putCharSequence("xingming", xingming);
// bundle.putCharSequence("dizhi", dizhi);
// bundle.putCharSequence("dianhua", dianhua);
// intent.putExtras(bundle);
startActivity(intent);
}
});
no.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.putExtra("data_return", "返回成功");
setResult(RESULT_OK,intent);
finish();
}
});
}
}
这个是获取信息的页面
package com.android.demo;
import java.util.Arrays;
import java.util.List;
import com.android.demo.R.layout;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.os.Build;
public class MainActivity extends Activity {
private ListView mListView;
private Button but_add;
private Button but_del;
private String[] data = {};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
but_add = (Button) findViewById(R.id.but_add);
but_del = (Button) findViewById(R.id.but_del);
mListView = (ListView) findViewById(R.id.listview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1 ,data);
Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
Bundle bundle=intent.getExtras();//.getExtras()得到intent所附带的额外数据
String str=bundle.getString("xingming");//getString()返回指定key的值
mListView.setAdapter(adapter);
but_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,addmessage.class);
MainActivity.this.startActivity(intent);
}
});
}
}
怎么显示到Listview上啊
越写越没思路了
#4
先上一个主界面的。
package genwoxue.androidcsdncontactdemo.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 主界面.
*
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
*
* @author prd.
* @version 2015.11.13
*/
public class MainActivity extends Activity implements View.OnClickListener {
private Button add;//添加
private Button delete;//删除
private ListView lv;//显示数据
private static List<Map<String,String>> userList;//数据源
private SimpleAdapter adapter = null;//给ListView使用的Adapter
private static boolean addactivity = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
add = (Button) findViewById(R.id.btn_add);
delete = (Button) findViewById(R.id.btn_delete);
add.setOnClickListener(this);
delete.setOnClickListener(this);
if (userList == null) {
userList = new ArrayList<Map<String, String>>();
}
if (adapter == null) {//设置数据源
adapter = new SimpleAdapter(this, userList,R.layout.lv_item,new String[]{"itemname","itemphone","itemaddress"},new int[]{R.id.tv_name,R.id.tv_phone,R.id.tv_address});
}
lv = (ListView) findViewById(R.id.lv_mainshow);
lv.setAdapter(adapter);
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this,"删除数据成功!",Toast.LENGTH_SHORT).show();
userList.remove(position);//从数据源删除相应数据
adapter.notifyDataSetChanged();//重新加载ListView.
return true;
}
});
initdata();
}
private void initdata() {
if (addactivity) {//为true,才是已经打开过新增.
Intent intent = this.getIntent();
User user = (User) intent.getSerializableExtra("user");
for (int i = 0; i < 1; i++) {//赋值数据源,因为我们每次只能新增一条,所以只循环一次即可.
Map<String,String> maps = new HashMap<String, String>();//保存数据
maps.put("itemname",user.getName());
maps.put("itemphone",user.getPhone());
maps.put("itemaddress",user.getAddress());
userList.add(maps);//添加到数据源.
}
adapter.notifyDataSetChanged();//更新ListView.
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_add:
addactivity = true;
Intent intent = new Intent(MainActivity.this, AddInfoActivity.class);//打开新的Activity,进行添加.
startActivity(intent);
break;
case R.id.btn_delete:
break;
}
}
}
#5
简单说一下:
* 使用了一个实体(User)来管理数据;
* 在ListView中使用了SimpleAdapter(可以自行定制布局,我只简单写了一个).
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
稍微有个小bug,就是部署的时候会有一个空指针,但是不影响运行。
下面是运行截图,代码稍候传网盘。
添加等操作:
删除操作:
源码[我使用的api level 15 -android 4.0]:
可以去链接: http://pan.baidu.com/s/1dDAv6VJ 密码: fuhf
下载源码.
* 使用了一个实体(User)来管理数据;
* 在ListView中使用了SimpleAdapter(可以自行定制布局,我只简单写了一个).
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
稍微有个小bug,就是部署的时候会有一个空指针,但是不影响运行。
下面是运行截图,代码稍候传网盘。
添加等操作:
删除操作:
源码[我使用的api level 15 -android 4.0]:
可以去链接: http://pan.baidu.com/s/1dDAv6VJ 密码: fuhf
下载源码.
#6
谢谢版主,学习了!
#7
private static boolean addactivity = false;定义这个addactivity是做什么用的啊?
#1
可以利用Intent发送数据,另外一个页面是Activity,./
总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.
总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.
#2
参考:
http://www.cnblogs.com/tdalcn/p/3467445.html
http://www.cnblogs.com/tdalcn/p/3467445.html
#3
这个是填入信息那个页面
这个是获取信息的页面
怎么显示到Listview上啊
越写越没思路了
package com.android.demo;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.view.View.OnClickListener;
public class addmessage extends Activity {
private ListView listview;
private Button yes;
private Button no;
private EditText et_name;
private EditText et_address;
private EditText et_phone;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_name = (EditText)findViewById(R.id.et_name);
et_address = (EditText)findViewById(R.id.et_address);
et_phone = (EditText)findViewById(R.id.et_phone);
yes = (Button) findViewById(R.id.yes);
no = (Button) findViewById(R.id.no);
yes.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String name = et_name.getText().toString();
String address = et_address.getText().toString();
String phone = et_phone.getText().toString();
Intent intent = new Intent(addmessage.this, MainActivity.class);
intent.putExtra("name", et_name.getText().toString());
intent.putExtra("address", et_address.getText().toString());
intent.putExtra("phone", et_phone.getText().toString());
// Bundle bundle = new Bundle();
// bundle.putCharSequence("xingming", xingming);
// bundle.putCharSequence("dizhi", dizhi);
// bundle.putCharSequence("dianhua", dianhua);
// intent.putExtras(bundle);
startActivity(intent);
}
});
no.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent();
intent.putExtra("data_return", "返回成功");
setResult(RESULT_OK,intent);
finish();
}
});
}
}
这个是获取信息的页面
package com.android.demo;
import java.util.Arrays;
import java.util.List;
import com.android.demo.R.layout;
import android.app.Activity;
import android.app.ActionBar;
import android.app.Fragment;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.os.Build;
public class MainActivity extends Activity {
private ListView mListView;
private Button but_add;
private Button but_del;
private String[] data = {};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
but_add = (Button) findViewById(R.id.but_add);
but_del = (Button) findViewById(R.id.but_del);
mListView = (ListView) findViewById(R.id.listview);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1 ,data);
Intent intent=getIntent();//getIntent将该项目中包含的原始intent检索出来,将检索出来的intent赋值给一个Intent类型的变量intent
Bundle bundle=intent.getExtras();//.getExtras()得到intent所附带的额外数据
String str=bundle.getString("xingming");//getString()返回指定key的值
mListView.setAdapter(adapter);
but_add.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(MainActivity.this,addmessage.class);
MainActivity.this.startActivity(intent);
}
});
}
}
怎么显示到Listview上啊
越写越没思路了
#4
先上一个主界面的。
package genwoxue.androidcsdncontactdemo.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 主界面.
*
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
*
* @author prd.
* @version 2015.11.13
*/
public class MainActivity extends Activity implements View.OnClickListener {
private Button add;//添加
private Button delete;//删除
private ListView lv;//显示数据
private static List<Map<String,String>> userList;//数据源
private SimpleAdapter adapter = null;//给ListView使用的Adapter
private static boolean addactivity = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
add = (Button) findViewById(R.id.btn_add);
delete = (Button) findViewById(R.id.btn_delete);
add.setOnClickListener(this);
delete.setOnClickListener(this);
if (userList == null) {
userList = new ArrayList<Map<String, String>>();
}
if (adapter == null) {//设置数据源
adapter = new SimpleAdapter(this, userList,R.layout.lv_item,new String[]{"itemname","itemphone","itemaddress"},new int[]{R.id.tv_name,R.id.tv_phone,R.id.tv_address});
}
lv = (ListView) findViewById(R.id.lv_mainshow);
lv.setAdapter(adapter);
lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(MainActivity.this,"删除数据成功!",Toast.LENGTH_SHORT).show();
userList.remove(position);//从数据源删除相应数据
adapter.notifyDataSetChanged();//重新加载ListView.
return true;
}
});
initdata();
}
private void initdata() {
if (addactivity) {//为true,才是已经打开过新增.
Intent intent = this.getIntent();
User user = (User) intent.getSerializableExtra("user");
for (int i = 0; i < 1; i++) {//赋值数据源,因为我们每次只能新增一条,所以只循环一次即可.
Map<String,String> maps = new HashMap<String, String>();//保存数据
maps.put("itemname",user.getName());
maps.put("itemphone",user.getPhone());
maps.put("itemaddress",user.getAddress());
userList.add(maps);//添加到数据源.
}
adapter.notifyDataSetChanged();//更新ListView.
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_add:
addactivity = true;
Intent intent = new Intent(MainActivity.this, AddInfoActivity.class);//打开新的Activity,进行添加.
startActivity(intent);
break;
case R.id.btn_delete:
break;
}
}
}
#5
简单说一下:
* 使用了一个实体(User)来管理数据;
* 在ListView中使用了SimpleAdapter(可以自行定制布局,我只简单写了一个).
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
稍微有个小bug,就是部署的时候会有一个空指针,但是不影响运行。
下面是运行截图,代码稍候传网盘。
添加等操作:
删除操作:
源码[我使用的api level 15 -android 4.0]:
可以去链接: http://pan.baidu.com/s/1dDAv6VJ 密码: fuhf
下载源码.
* 使用了一个实体(User)来管理数据;
* 在ListView中使用了SimpleAdapter(可以自行定制布局,我只简单写了一个).
* note:未实现按钮删除,可自己实现[作为替代,实现了一个长按Item删除的效果.]
稍微有个小bug,就是部署的时候会有一个空指针,但是不影响运行。
下面是运行截图,代码稍候传网盘。
添加等操作:
删除操作:
源码[我使用的api level 15 -android 4.0]:
可以去链接: http://pan.baidu.com/s/1dDAv6VJ 密码: fuhf
下载源码.
#6
谢谢版主,学习了!
#7
private static boolean addactivity = false;定义这个addactivity是做什么用的啊?