如何发送和接收ArrayListint类型的int数据类型范围

4296人阅读
&& 这些天由于任务需要,又研究了一下因为以前学习过客户端和服务器通过串传输数据,知道可以在中查询数据库,再将数据组装成串发送给客户端,让客户端解析数据。但是这次由于涉及到客户端上传数据,经过处理,然后存入数据库中。这样就不知道怎么处理了。
&& 在实践过程发现,如果在客户端将数据组装成串,在发送给接收,用不了的包目测是需要导包的因为是在一个工程中写的,的包蛮难找的,想解析就碰到问题了。
&& 因为比较懒,所以想如果客户端发送?数据?号可以表示某个,能接收到,然后通过的方法获取数据该多好。。(感觉挺不错的样子)然后就开始找资料了…不知道是不是公司的网络毕竟废,限制很多的原因,貌似没找到啥相关的资料,只看到有个发送的例子,和预想中的自定义还是有点差距。好在经过不懈的努力,最后终于成功了废话了一堆,以下开始写流程
,以为例,需要实现对象序列化的接口,因为之后输出流对象需要实现输出可序列化的对象。不这样的话,后续时发送时会报异常。
package xl.java.
import java.io.S
* 用户信息
* @author xl
public class UserInfo implements Serializable
private static final long serialVersionUID = 1L;
private String UserN
private String P
private String NickN
private int QQN
private String TelN
private int A
public String getUserName()
return UserN
public void setUserName(String userName)
UserName = userN
public String getPassword()
public void setPassword(String password)
Password =
public String getNickName()
return NickN
public void setNickName(String nickName)
NickName = nickN
public int getQQNumber()
return QQN
public void setQQNumber(int qQNumber)
QQNumber = qQN
public String getTelNumber()
return TelN
public void setTelNumber(String telNumber)
TelNumber = telN
public int getAge()
public void setAge(int age)
1.&为了让客户端引用的包名和引用的一致,请右键点击选择选好导出的路径然后点,没错,我们这里选择将它打包,这是在纠结了几个小时后,才解决的一个问题。之前端一直提示找不到这个类,由于没仔细看,还一直以为是端的引用问题,后来才发现,因为在客户端工程中这个类的路径是,而我的是在另外一个工程中写的相同的路径不同,在中接收到的一直提示找不到这个类,纠结的….打包完全是因为水平不行
(最新发现可以不用打包,只要在WEB-INF&\classes中建立文件夹即可,然后将放入文件夹内通过将它编译成文件就可以了,也就是说包名一样就行)
步,进行第三步好了。。
。中间一大段的连接处理,具体解释可参考&。
package xl.java.
import java.io.IOE
import java.io.InputS
import java.io.ObjectOutputS
import java.io.OutputS
import java.net.HttpURLC
import java.net.URL;
import java.net.URLC
import java.util.ArrayL
import java.util.L
import xl.java.bean.UserI
* 模拟发送数据
* @author xl
public class SendData
private static final String BASIC_URL_QUEST =
&http://192.168.1.1:8080/test/TestServlet&;
public static void main(String[] args)
SendData senddata=new SendData();
senddata.sendDataToServer();
catch (IOException e)
e.printStackTrace();
* 上传处理结果
* @throws IOException
private void sendDataToServer() throws IOException
//用于servlet判别请求,执行相应方法
String QuestId = &SubmitUserInfoList&;
//模拟发送自定义类型的List数据
List&UserInfo& listdata = new ArrayList&UserInfo&();
for (int i = 0; i & 10; i++)
UserInfo li = new UserInfo();
li.setUserName(&XL& + i);
li.setPassword(&00000& + i);
li.setQQNumber(1234567 + i);
li.setTelNumber(&& + i);
li.setNickName(&xiaolang& + i);
li.setAge(18 + i);
listdata.add(li);
URL url = new URL(BASIC_URL_QUEST);
URLConnection con = url.openConnection();
HttpURLConnection httpUrlConnection = (HttpURLConnection)
httpUrlConnection.setUseCaches(false);
httpUrlConnection.setDoOutput(true);
httpUrlConnection.setDoInput(true);
httpUrlConnection.setRequestProperty(&Content-type&,
&application/x-java-serialized-object&);
//不设置这个默认为Get,服务器会没反应,不知道什么情况,
//纠结了很久,改成Post的话,servlet里的
//doPost方法就有反应了
httpUrlConnection.setRequestMethod(&POST&);
httpUrlConnection.connect();
OutputStream outStrm = httpUrlConnection.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(outStrm);
//输出流第一段数据是QuestId的值
oos.writeObject(QuestId);
//第二段数据是List数据
oos.writeObject(listdata);
oos.flush();
oos.close();
InputStream inStrm = httpUrlConnection.getInputStream();
System.out.println(&数据发送成功!&);
catch (Exception e)
e.printStackTrace();
类,并把编写完成的类,放在E:\Tomcat&7.0\webapps\test\WEB-INF\classes路径下,同时打开类,把包名删了,如下绿色字体部分防止出现莫名其妙的错误然后通过编译。
//package xl.java.
import java.io.IOE
import java.io.InputS
import java.io.ObjectInputS
import java.sql.C
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
import java.sql.S
import java.util.L
import javax.servlet.http.HttpS
import javax.servlet.http.HttpServletR
import javax.servlet.http.HttpServletR
import xl.java.bean.UserI
* @author xl
public class TestServlet extends HttpServlet
private static final long serialVersionUID = 1L;
private Connection mConnection =
private Statement mStatement =
private String QuestId = &&;
private static final String SUBMIT_USERINFO_LIST = &SubmitUserInfoList&;// 客户端提交到用户信息
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
System.out.println(&________---------doPost--------_____________&);
// 链接数据库
Class.forName(&org.gjt.mm.mysql.Driver&).newInstance();
mConnection =
DriverManager
.getConnection(&jdbc:mysql://localhost/test?user=root&password=123&useUnicode=true&characterEncoding=UTF-8&);
mStatement =
mConnection.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
// 如果不是通过URL的Get形式上传数据时,调用此方法,获取上传的list数据
getListDataByObjectInputStream(request, response);
catch (SQLException e)
e.printStackTrace();
catch (InstantiationException e)
e.printStackTrace();
catch (IllegalAccessException e)
e.printStackTrace();
catch (ClassNotFoundException e)
e.printStackTrace();
catch (IOException e)
e.printStackTrace();
* 获取输入流中的数据
* @param request
* @param response
* @throws IOException
* @throws ClassNotFoundException
private void getListDataByObjectInputStream(HttpServletRequest request,
HttpServletResponse response) throws IOException,
ClassNotFoundException
System.out.println(&---------getListDataByObjectInputStream--------&);
response.setContentType(&text/html&);
InputStream inStream = request.getInputStream();
ObjectInputStream objInStream = new ObjectInputStream(inStream);
QuestId = (String) objInStream.readObject();
@SuppressWarnings(&unchecked&)
List&UserInfo& inList = (List&UserInfo&) objInStream.readObject();
if (QuestId.equals(SUBMIT_USERINFO_LIST))
System.out.println(&QuestId.equals(SUBMIT_ORDER_LIST)&);
submitOrderList(request, response, inList);
objInStream.close();
System.out.println(&objInStream.close()&);
* @param request
* @param response
* @param inList
private void submitOrderList(HttpServletRequest request,
HttpServletResponse response, List&UserInfo& inList)
// 获取数据,插入数据库
for (UserInfo item : inList)
System.out.println(&UserName=& + item.getUserName());
System.out.println(&Password=& + item.getPassword());
System.out.println(&NickName=& + item.getNickName());
System.out.println(&QQNumber=& + item.getQQNumber());
System.out.println(&TelNumber=& + item.getTelNumber());
System.out.println(&Age=& + item.getAge() + &\n&);
* 插入数据库代码可以写在这..
<span style="color:#.&运行SendData.java文件,可看到控制台输出,根据前面的设定我们知道,客户端和服务端已经建立连接,并且数据成功发送给了服务端,然后我们E:\Tomcat&7.0\logs下的stdout_.log(反正目录下最后一个文件),查看Tomcat的打印信息,如下图
& 最后说明下,不知道以这种形式发送数据的效率怎么样,水平有限,感觉有点用,所以写篇文章记录下,如果大家对如何在端通过访问有疑问可以看下&比较早写的一篇文章应该能解决一些问题吧
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:70280次
排名:千里之外
转载:23篇
评论:19条
(1)(1)(1)(3)(1)(3)(3)(4)(2)(4)(6)ArrayList和数组间的相互转换 - javasky - ITeye技术网站
博客分类:
&& 开发中不免碰到List与数组类型之间的相互转换,举一个简单的例子:
package test.test1;
import java.util.ArrayL
import java.util.L
public class Test {
* @param args
public static void main(String[] args) {
List list=new ArrayList();
list.add("王利虎");
list.add("张三");
list.add("李四");
int size=list.size();
String[] array=new String[size];
for(int i=0;i&list.size();i++){
array[i]=(String)list.get(i);
for(int i=0;i&array.i++){
System.out.println(array[i]);
正如上面所列举的,当要将ArrayList类型的数据转换为String[]的时候,必须对List类型进行遍历,其实没有这种必要,List提供给我们一个很好的方法解决List转换成为数组的问题,不防再看一个例子:
package test.test1;
import java.util.ArrayL
import java.util.L
public class Test {
public static void main(String[] args) {
List&String& list=new ArrayList&String&();
list.add("王利虎");
list.add("张三");
list.add("李四");
int size=list.size();
String[] array = (String[])list.toArray(new String[size]);
for(int i=0;i&array.i++){
System.out.println(array[i]);
}
你是否发现这才是你想要的呢?其实很简单,ArrayList提供public &T& T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组;返回数组的运行时类型就是指定数组的运行时类型。如果列表能放入指定的数组,则返回放入此列表元素的数组。否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组。
如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末尾的元素设置为 null。这对确定列表的长度很有用,但只 在调用方知道列表中不包含任何 null 元素时才有用。
&&& 那么又怎么将数组转换成为List呢?不防再看一个小小的例子,如下所示:
package test.test1;
import java.util.ArrayL
import java.util.L
public class Test {
public static void main(String[] args) {
String[] array=new String[3];
array[0]="王利虎";
array[1]="张三";
array[2]="李四";
List&String& list=new ArrayList&String&();
for(int i=0;i&array.i++){
list.add(array[i]);
for(int i=0;i&list.size();i++){
System.out.println(list.get(i));
}
你是不发现很费事啊?其实数组转换成为List的问题Arrays对象也提供给我们public static &T& List&T& asList(T... a)供我们调用, 试运行下面的例子:
package test.test1;
import java.util.A
import java.util.L
public class Test {
public static void main(String[] args) {
String[] array=new String[3];
array[0]="王利虎";
array[1]="张三";
array[2]="李四";
List&String& list=Arrays.asList(array);
for(int i=0;i&list.size();i++){
System.out.println(list.get(i));
}
&&& 简单吧,asList方法返回一个受指定数组支持的固定大小的列表,此方法同 Collection.toArray 一起,充当了基于数组的 API 与基于 collection 的 API 之间的桥梁。返回的列表是可序列化的,并且实现了 RandomAccess。除此之外, 此方法还提供了一个创建固定长度的列表的便捷方法,该列表被初始化为包含多个元素:
package test.test1;
import java.util.A
import java.util.L
public class Test1 {
public static void main(String[] args) {
List&String& list = Arrays.asList("王利虎","张三","李四");
for(int i=0;i&list.size();i++){
System.out.println(list.get(i));
}
下次遇到这样的问题,你一定会想到它,不会再for你的List对象或数组对象了吧!
浏览 162806
浏览: 647434 次
来自: 黑龙江
楼主好人!
我也赞一个 很有用
我也赞一个 很有用
牛逼,就是样式被搞没了
这代码风格就像一坨翔android(8)
本来想写得很简单的,但是想想那样可能会写好几篇吧,所以就都写在这里吧。先总的说下包含的内容吧,首先是Intent自定义数据的传送,之后银行账号的输入&#26684;式的控制,之后界面销毁时数据的返回,将跟新了的数据返回给上一层的activity
内容貌&#20284;挺丰富的,一步步来吧!
首先定义数据类但是要实现Serializable接口
public class GroupBankBean implements Serializable {
private S // 记录编号
private String bank_// 银行名字
private String bank_ // 银行卡号
private String bank_// 银行编号
private String user_// 银行名字
private String bank_// 银行图标
public String getId() {
public void setId(String id) {
public String getBank_name() {
return bank_
public void setBank_name(String bank_name) {
this.bank_name = bank_
public String getBank_number() {
return bank_
public void setBank_number(String bank_number) {
this.bank_number = bank_
public String getBank_code() {
return bank_
public void setBank_code(String bank_code) {
this.bank_code = bank_
public String getUser_name() {
return user_
public void setUser_name(String user_name) {
this.user_name = user_
public String getBank_img() {
return bank_
public void setBank_img(String bank_img) {
this.bank_img = bank_
}之后写一个包装类实现Parcelable接口,将自定义的类作为包装类的一部分传过去//intent传数据的重写接口
public class GroupBankUtil implements Parcelable {
public ArrayList&GroupBankBean& list = new ArrayList&GroupBankBean&();
public int describeContents() {
public void writeToParcel(Parcel dest, int flags) {
dest.writeList(list);
dest.writeString(name);
public static final Parcelable.Creator&GroupBankUtil& CREATOR = new Parcelable.Creator&GroupBankUtil&() {
// 重写Creator
public GroupBankUtil createFromParcel(Parcel source) {
GroupBankUtil g = new GroupBankUtil();
g.list = source.readArrayList(ArrayList.class.getClassLoader());
g.name = source.readString();
public GroupBankUtil[] newArray(int size) {
之后就是数据的传送与接收了主activity获取数据和发送数据&/pre&&pre name=&code& class=&java&&public class MainActivity extends Activity {
private MainActivity myself =
private LinearLayout iv_left, bankBtn, saveB
private TextView nameText, select_bankText, select_bankidText, balanceText,
type_commonText, type_fastText, messageT
private EditText bank_cardEdit, accountE
private LinearLayout imag_
private String str, cardNum, outValue, chargeSys, pd, bankN
private InputStringWatcher inputStringW
private GroupBankUtil bankU
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.take_money);
// 在界面显示之前调用接口,显示数据
iv_left = (LinearLayout) findViewById(R.id.iv_left);
iv_left.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
myself.finish();
nameText = (TextView) findViewById(R.id.name);
balanceText = (TextView) findViewById(R.id.balance);
select_bankText = (TextView) findViewById(R.id.select_bank);
select_bankidText = (TextView) findViewById(R.id.select_bankid);
bankBtn = (LinearLayout) findViewById(R.id.bank);
imag_bank = (LinearLayout) findViewById(R.id.layout_select_bank);
imag_bank.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent intent = new Intent(myself, BankCardShowActivity.class);
Toast.makeText(myself, &列表中的长度=& + bankUtil.list.size(),
Toast.LENGTH_SHORT).show();
intent.putExtra(&list&, bankUtil);
startActivityForResult(intent, 1);
bank_cardEdit = (EditText) findViewById(R.id.bank_card);
inputStringWatcher = new InputStringWatcher(bank_cardEdit);
bank_cardEdit.addTextChangedListener(inputStringWatcher);// 添加的字符串输入监听
accountEdit = (EditText) findViewById(R.id.account);
saveBtn = (LinearLayout) findViewById(R.id.save);
saveBtn.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
cardNum = bank_cardEdit.getText().toString();
if (cardNum.equals(&&)) {
Toast.makeText(myself, &请输入银行卡号&, Toast.LENGTH_SHORT)
if (cardNum.length() != 16 && cardNum.length() != 19) {
Toast.makeText(myself, &请输入正确的银行卡号&, Toast.LENGTH_SHORT)
outValue = accountEdit.getText().toString();
if (outValue.equals(&0&)) {
Toast.makeText(myself, &请输入正确的金额&, Toast.LENGTH_SHORT)
bankName = select_bankText.getText().toString();
chargeSys = select_bankidText.getText().toString();
initData();
public void initData() {
bankUtil = new GroupBankUtil();
bankUtil.list = new ArrayList&GroupBankBean&();
bankUtil.list.clear();
for (int i = 0; i & 10; i++) {
GroupBankBean bankBean = new GroupBankBean();
bankBean.setId(&id& + i);
bankBean.setBank_name(&中国工商银行& + i);
bankBean.setBank_code(&bank_code& + i);
bankBean.setBank_img(&bank_img& + 1);
bankBean.setBank_number(&294785& + 1);
bankBean.setUser_name(&大大& + 1);
bankUtil.list.add(bankBean);
imag_bank.setVisibility(View.VISIBLE);
nameText.setText(bankUtil.list.get(0).getUser_name());
bank_cardEdit.setText(bankUtil.list.get(0).getBank_number());
select_bankText.setText(bankUtil.list.get(0).getBank_name());
select_bankidText.setText(bankUtil.list.get(0).getBank_code());
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
if (data != null) {
bankUtil = data.getParcelableExtra(&list&);
Bundle MarsBuddle1 = data.getExtras();
if (MarsBuddle1.getBoolean(&flag&)) {
cardNum = MarsBuddle1.getString(&banknumber&).trim();
chargeSys = MarsBuddle1.getString(&bankcode&);
bankName = MarsBuddle1.getString(&bankname&);
select_bankText.setText(bankName);
bank_cardEdit.setText(cardNum);
select_bankidText.setText(chargeSys);
Toast.makeText(myself, &列表中的长度=& + bankUtil.list.size(),
Toast.LENGTH_SHORT).show();
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
}之后就是数据的接收子activity
public class BankCardShowActivity extends Activity {
private BankCardShowActivity myself =
private LinearLayout iv_// 返回
private TextView title_// 提示标题 页面标题
private GroupBankUtil bankU// 获取intent传过来的参数
private ListView listV
private BankRecordA
private boolean flag =
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.card_number_list);
title_txt = (TextView) findViewById(R.id.title_txt);
listView = (ListView) this.findViewById(R.id.card_lvcard); // 将listView与布局对象关联
iv_left = (LinearLayout) findViewById(R.id.iv_left);
iv_left.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
myself.finish();
bankUtil = this.getIntent().getParcelableExtra(&list&);
title_txt.setText(&选择银行卡&);
adapter = new BankRecordAdapter(myself, bankUtil.list,
R.layout.card_number_item);
listView.setAdapter(adapter);
// 处理Item的点击事件
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView&?& parent, View view,
int position, long id) {
GroupBankBean getObject = bankUtil.list.get(position); // 通过position获取所点击的对象
Intent intent = new Intent(myself, MainActivity.class);
intent.putExtra(&banknumber&, getObject.getBank_number());
intent.putExtra(&bankname&, getObject.getBank_name());
intent.putExtra(&bankcode&, getObject.getBank_code());
intent.putExtra(&list&, bankUtil);
intent.putExtra(&flag&, flag);
setResult(RESULT_OK, intent);
myself.finish();
// 长按菜单显示
listView.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
public void onCreateContextMenu(ContextMenu conMenu, View view,
ContextMenuInfo info) {
conMenu.setHeaderTitle(&历史银行卡&);
conMenu.add(0, 0, 0, &删除该卡&);
// 长按菜单删除该银行卡
public boolean onContextItemSelected(MenuItem aItem) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) aItem
.getMenuInfo();
switch (aItem.getItemId()) {
bankUtil.list.remove(info.position);
Toast.makeText(myself, &删除成功&, Toast.LENGTH_SHORT).show();
adapter.notifyDataSetChanged();// 通知更新
public void finish() {
if (!flag) {
Intent intent = new Intent(myself, MainActivity.class);
intent.putExtra(&list&, bankUtil);
intent.putExtra(&flag&, flag);
setResult(RESULT_OK, intent);
super.finish();
还有两个帮助用的类,一个是列表的适配器类,还有一个就是银行账号的空&#26684;控制类public class BankRecordAdapter extends BaseAdapter {
private List&GroupBankBean&
private Context mC
private int listItemL
public BankRecordAdapter(Context c, List data, int listItemLayout) {
this.mContext =
this.list =
this.listItemLayout = listItemL
public int getCount() {
return list.size();
public Object getItem(int position) {
return list.get(position);
public long getItemId(int position) {
class ViewHolder {
public ImageView imgsUrlV
public TextView bankNameView, bankNumberView, bankIdV
public LinearLayout bankRecordI
public String getCardMessage(String number, String name) {
String re = &&;
for (i = 0; i & number.length() / 4; i++) {
re += number.substring(4 * i, 4 * (i + 1)) + & &;
re += number.substring(4 * i, number.length());
return re + & & +
public View getView(int position, View convertView, ViewGroup parent) {
GroupBankBean bean = list.get(position);
if (convertView == null) {
convertView = View.inflate(mContext, listItemLayout, null);
vh = new ViewHolder();
vh.imgsUrlView = (ImageView) convertView.findViewById(R.id.iv_icon);
vh.bankRecordItem = (LinearLayout) convertView
.findViewById(R.id.bank_record_item);
vh.bankNameView = (TextView) convertView
.findViewById(R.id.card_name_bank);
vh.bankNumberView = (TextView) convertView
.findViewById(R.id.card_number_bank);
vh.bankIdView = (TextView) convertView
.findViewById(R.id.card_id_bank);
convertView.setTag(vh);
vh = (ViewHolder) convertView.getTag();
vh.bankRecordItem.setBackgroundResource(R.color.races_bg_1);
vh.bankNameView.setText(bean.getBank_name());
vh.bankNumberView.setText(getCardMessage(bean.getBank_number(),
bean.getUser_name()));
vh.bankIdView.setText(bean.getId());
return convertV
//控制输入时按没四位空一格,删除时也是一样
public class InputStringWatcher implements TextWatcher {
int beforeTextLength = 0;
int onTextLength = 0;
boolean isChanged =
int location = 0;// 记录光标的位置
private char[] tempC
private StringBuffer buffer = new StringBuffer();
int konggeNumberB = 0;
private EditText editT
public InputStringWatcher(EditText editTest) {
this.editTest = editT
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
onTextLength = s.length();
buffer.append(s.toString());
if (onTextLength == beforeTextLength || onTextLength &= 3 || isChanged) {
isChanged =
isChanged =
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
beforeTextLength = s.length();
if (buffer.length() & 0) {
buffer.delete(0, buffer.length());
konggeNumberB = 0;
for (int i = 0; i & s.length(); i++) {
if (s.charAt(i) == &#39; &#39;) {
konggeNumberB++;
public void afterTextChanged(Editable s) {
if (isChanged) {
location = editTest.getSelectionEnd();
int index = 0;
while (index & buffer.length()) {
if (buffer.charAt(index) == &#39; &#39;) {
buffer.deleteCharAt(index);
index = 0;
int konggeNumberC = 0;
while (index & buffer.length()) {
if ((index == 4 || index == 9 || index == 14 || index == 19)) {
buffer.insert(index, &#39; &#39;);
konggeNumberC++;
if (konggeNumberC & konggeNumberB) {
location += (konggeNumberC - konggeNumberB);
tempChar = new char[buffer.length()];
buffer.getChars(0, buffer.length(), tempChar, 0);
String str = buffer.toString();
if (location & str.length()) {
location = str.length();
} else if (location & 0) {
location = 0;
editTest.setText(str);
Editable etable = editTest.getText();
Selection.setSelection(etable, location);
isChanged =
开始进去的时候将数据中的第一条数据显示给主界面,点击银行卡号边上的箭头就可以进入下一个界面同时传递数据,同时输入账号的时候会自动的实现四个号码一空&#26684;,删除的时候也是直接跳过
进入子activity后以列表显示数据和更新数据
长按删除其中的一列数据,当删除了之后要达到不管怎么回到主Activity,都会更新主activity里面的数据
删除之后列表中的数据就减少了一
最后记录下自己的几点错误和改正方法吧!首先在自定义的数据类时,因为数据类也就是bean类没有实现Serializable接口所以老报错,而且错误提示的是list必须是Arraylist,但是我怎么找都找不出来,代码里边都是Arraylist,相当郁闷。之后到处查资料都不得结果,后来我一时兴起,觉得双管齐下,用bean实现Serializable,一不小心就成功了。
还有一个郁闷的地方就是怎么实现子界面销毁时无条件返回更新主界面的数据,这个最坑爹了,到处都找不到相关的资料,哎!睡了一晚上之后决定实现重新实现finish()方法,起初也是错误很多的,不过西里呼噜之后就搞定了,当然在finish()里边传数据还是很烦躁的,各位得小心呀!
最后附上代码连接,希望各位打赏下。
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:7371次
排名:千里之外
原创:14篇
(1)(1)(4)(1)(1)(1)(3)(1)(1)}

我要回帖

更多关于 比int大的数据类型 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信