您的位置:首页 > 其它

startActivityForResult 页面跳转回调

2016-03-25 17:15 274 查看
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends Activity {

private Button button_add;
private GridView gv;
List<Map<String, String>> list = new ArrayList<Map<String, String>>();

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

if (requestCode == 1 && resultCode == 1) {
// 获取map集合
final HashMap<String, String> map = (HashMap<String, String>) data
.getSerializableExtra("map");

// 将map集合添加到list集合中

list.add(map);

// 为gridview设置适配器
final SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, list,
R.layout.item, new String[] { "name", "author" },
new int[] { R.id.item_name, R.id.item_author });
gv.setAdapter(adapter);

// 为gv设置条目点击监听事件
gv.setOnItemClickListener(new OnItemClickListener() {

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

gv.setSelector(android.R.color.holo_red_light);

new AlertDialog.Builder(MainActivity.this)
.setTitle("确认删除")
.setMessage("确认删除吗?")
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {

@Override
public void onClick(
DialogInterface dialog,
int which) {
Toast.makeText(MainActivity.this,
"您放弃了删除", 0).show();

}
}).setPositiveButton("确认", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {

Toast.makeText(MainActivity.this,
"删除成功", 0).show();
list.remove(position);
adapter.notifyDataSetChanged();
}
}).show();

}
});

}

}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

// 寻找控件
findView();

// 为添加按钮设置点击监听事件
setClick();
}

private void setClick() {

button_add.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

// 回调跳转到添加界面
Intent intent = new Intent(MainActivity.this, AddActivity.class);
startActivityForResult(intent, 1);

}
});

}

private void findView() {

button_add = (Button) findViewById(R.id.button_add);
gv = (GridView) findViewById(R.id.gv);
TextView tv = (TextView) findViewById(R.id.tv_manager);

}

}


import java.util.HashMap;
import java.util.Map;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class AddActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add);

//找到该布局文件下的控件
final EditText edit_name=(EditText) findViewById(R.id.edit_name);
final EditText edit_author=(EditText) findViewById(R.id.edit_author);
Button button_a=(Button) findViewById(R.id.button_a);

//点击添加按钮实现监听事件
button_a.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {

//获取输入框中的信息
String name = edit_name.getText().toString();
String author = edit_author.getText().toString();

if(TextUtils.isEmpty(name))
{
Toast.makeText(AddActivity.this, "图书名字不能为空", 0).show();
return;
}

if(TextUtils.isEmpty(author))
{
Toast.makeText(AddActivity.this, "作者不能为空", 0).show();
return;
}

//将页面信息封存为map集合
HashMap<String, String> map=new HashMap<String, String>();
map.put("name", name);
map.put("author", author);

//将map集合存放在intent中并回调到主界面
Intent intent = getIntent();
intent.putExtra("map", map);
setResult(1, intent);

//将本界面关闭
finish();

}
});
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: