完成如下图所示的Android应用程序,相当于一个网站的导航页面。一开始Activity中没有数据,通过选项菜单的“添加”选项,跳转到一个新页面,在此页面中,可以选择或输入网站数据项所对应的“图标”、“网站名”、“网址”信息。信息通过一个对话框确认后,添加到首页中。在首页中长按某个图标,可以打开一个快捷菜单,单击后,可跳转到对应的网站。
效果
尝试一 清除数据后,冷启动
结果:依旧错误
尝试二在虚拟机管理界面删掉虚拟机,重新安装一个
结果:依旧错误
尝试三代码错误
调整:
①实例化方法有误
②显式调用不需要intent-filter
//MainActivity.java
public class MainActivity extends AppCompatActivity {
//第一个界面——显示联系人
private Button bt; //添加按钮
private ListView listView; //联系人列表
private List name=new ArrayList(); //存放姓名
private List num=new ArrayList(); //存放手机号
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt=findViewById(R.id.button_1); //添加按钮初始化
listView=findViewById(R.id.listview); //联系人列表初始化
ArrayAdapter adapter=new ArrayAdapter(MainActivity.this,android.R.layout.simple_list_item_1,name); //适配器初始化
listView.setAdapter(adapter);//绑定适配器
bt.setOnClickListener(new View.OnClickListener() { //监听添加按钮
@Override
public void onClick(View view) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent,1);
}
});
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> adapterView, View view, int i, long l) {
int phoneNum=num.get(i);
Uri uri=Uri.parse("tel:"+phoneNum);
Intent intent=new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(uri);
startActivity(intent);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { //返回内容
super.onActivityResult(requestCode,resultCode,data);
switch (requestCode){
case 1:
String returnedName=data.getStringExtra("name");
int returnedNum=data.getIntExtra("num",0);
name.add(returnedName);
num.add(returnedNum);
break;
default:
break;
}
}
}
//SecondAcitivity
public class SecondActivity extends AppCompatActivity {
//第二个界面——添加联系人
private Button button2; //返回按钮
private EditText et1,et2; //姓名和手机号
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_xml);
button2=findViewById(R.id.button_1); //添加按钮初始化
et1=findViewById(R.id.editText3);
et2=findViewById(R.id.editText4);
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(et1.getText().toString() != null || et2.getText().toString() != null) {
//如果输入值不为空,返回Main_activity
Intent intent = new Intent(SecondActivity.this,MainActivity.class);
intent.putExtra("name",et1.getText().toString());
intent.putExtra("num",Integer.parseInt(et2.getText().toString()));//转化为int类型
setResult(RESULT_OK,intent); //返回内容
finish(); //结束活动
}
}
});
}
}



