这个怎么做啊!!

时间:2021-04-25 17:15:56
这个怎么做啊!!这个怎么做啊!!

在EditText输入信息后,点击Button按钮,就跳转到另外一个页面的Listview上显示出了,怎么做啊

7 个解决方案

#1


可以利用Intent发送数据,另外一个页面是Activity,./

总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.

#2


参考:

http://www.cnblogs.com/tdalcn/p/3467445.html

#3


这个是填入信息那个页面
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
下载源码.

#6


谢谢版主,学习了!

#7


private static boolean addactivity = false;定义这个addactivity是做什么用的啊?

#1


可以利用Intent发送数据,另外一个页面是Activity,./

总体需要两个activity,第一个activity用于填写信息,填写完之后,点确定,跳到第二个activity(包含listview的那个).展示数据.

#2


参考:

http://www.cnblogs.com/tdalcn/p/3467445.html

#3


这个是填入信息那个页面
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
下载源码.

#6


谢谢版主,学习了!

#7


private static boolean addactivity = false;定义这个addactivity是做什么用的啊?