package com.example.studytest06;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0x11&&requestCode==0x11){
Bundle bundle=data.getExtras();
int imageId=bundle.getInt("iamgeId");
ImageView imageView=findViewById(R.id.touxiang);
imageView.setImageResource(imageId);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.xuanzhetouxiang);
// Button btn1=findViewById(R.id.btn1);
// btn1.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
// String name=((EditText)findViewById(R.id.name)).getText().toString();
// String age=((EditText)findViewById(R.id.age)).getText().toString();
// String sex=((EditText)findViewById(R.id.sex)).getText().toString();
// Intent intent=new Intent(MainActivity.this,shujujiaohu2.class);
// Bundle bundle=new Bundle();
// bundle.putCharSequence("name2",name);
// bundle.putCharSequence("age2",age);
// bundle.putCharSequence("sex2",sex);
// intent.putExtras(bundle);
// startActivity(intent);
// }
// });
// Log.i("Activity生命周期","onCreate()方法调用");
// //定义一个存放数据的数组
// String[] ctype=new String[]{"张三","李四","王五","赵六"};
// //先定义一个适配器,第二个参数用于显示listView的样式,这里使用android自配给我们的就可以,第三个参数就是我们定义的数据名称
// //这里其实也就是初始化适配器
// ArrayAdapter<String> adapter=new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,ctype);
// //获取listView,然后为其创建适配器。通过适配器将定义好的数据,传入到listView列表中
// ListView listView=findViewById(R.id.list_view1);
// //也就是先创建好样式,再创建适配器。将样式添加到适配器中,适配器再添加到listView列表中。
// listView.setAdapter(adapter);
// String[] name=new String[]{"周一","周二","周三","周四","周五","周六","周末"};
// ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,name);
// ListView listView=findViewById(R.id.list_view1);
// listView.setAdapter(adapter);
//
// //首先定义数据,这里先定义一个存放图片的,在定义一个存放文本的
// int[] imageId=new int[]{R.drawable.touxiang,R.drawable.touxiang2,R.drawable.touxiang3,R.drawable.touxiang6,
// R.drawable.touxiang7,R.drawable.touxiang8};
// String[] titletext=new String[]{"头像1","头像1","头像1","头像1","头像1","头像1"};
// //由于这里需要使用到自己自定义的布局,所以需要先获取布局里面的样式,这里使用list中的hashlist进行添加数据,并为其布局
// List<Map<String,Object>> list=new ArrayList<Map<String,Object>>();
// //使用循环向其中添加
// for(int i=0;i<imageId.length;i++){
// //声明并实例化一个Map的子类对象hashmap为其中添加内容
// Map<String,Object> map=new HashMap<String,Object>();
// map.put("image",imageId[i]);
// map.put("titletext",titletext[i]);
// list.add(map);
// }
// //为listView添加适配器,这个适配器用作将数据源和listView之间的桥梁
// //注意下面的这个添加的String[]与int[]是要相对的,不可以不一致,也就是说,image---image,title---title,但凡对错误就不会运行出来。
// // 还有这里的数据源,是添加到集合里面的,也就是键值对里面的键。不再是最上面定义的数据时的名字了
// SimpleAdapter adpter=new SimpleAdapter(this,list,R.layout.activity2,new String[]{"image","titletext"},
// new int[]{R.id.image,R.id.title});
// //实例化ListView
// ListView listView=findViewById(R.id.list_view1);
// //为其添加数据。
// listView.setAdapter(adpter);
// //为了验证这个列表的正确性,那就添加一个提示信息。那么这里就添加一个监听绑定事件
// listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
// @Override
// public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// Map<String, Object> map=(Map<String, Object>)parent.getItemAtPosition(position);
// Toast.makeText(MainActivity.this,map.get("titletext").toString(),Toast.LENGTH_SHORT).show();
// }
// });
// //首先先定义一组数据,用于添加自定义的数据
// String[] data=new String[]{"全部","语文","数学","英语"};
// //创建适配器,用于连接spinner与数据。
// ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,data);
// //获得Spinner,在想其中设置适配器
// Spinner spinner=findViewById(R.id.spinner);
// spinner.setAdapter(adapter);
// //首先获得布局
// LinearLayout ll=findViewById(R.id.ll);
// //再创建一个布局
// LinearLayout ll2=new LinearLayout(MainActivity.this);
// ll2.setOrientation(LinearLayout.VERTICAL);
// //创建一个滚动条,将刚刚创建好的布局添加到滚动条中,再将滚动条添加到第一个页面
// ScrollView scrollView=new ScrollView(MainActivity.this);
// scrollView.addView(ll2);
// ll.addView(scrollView);
// //创建一个存放图片的资源布局
// ImageView imageView=new ImageView(MainActivity.this);
// imageView.setImageResource(R.drawable.touxiang);
// ll2.addView(imageView);
// TextView textView=new TextView(MainActivity.this);
// textView.setText(R.string.gundonganli);
// ll2.addView(textView);
// LinearLayout linearLayout=findViewById(R.id.ll);
// ScrollView scrollView1=new ScrollView(MainActivity.this);
// LinearLayout linearLayout1=new LinearLayout(MainActivity.this);
// ImageView imageView1=new ImageView(MainActivity.this);
// imageView1.setImageResource(R.drawable.touxiang2);
// TextView textView1=new TextView(MainActivity.this);
// textView1.setText(R.string.gundonganli);
// linearLayout1.setOrientation(LinearLayout.VERTICAL);
// linearLayout1.addView(imageView1);
// linearLayout1.addView(textView1);
// scrollView1.addView(linearLayout1);
// linearLayout.addView(scrollView1);
// TabHost tabHost=(TabHost)findViewById(android.R.id.tabhost);
// tabHost.setup();
// LayoutInflater inflater=LayoutInflater.from(this);
// inflater.inflate(R.layout.tab1,tabHost.getTabContentView());
// inflater.inflate(R.layout.tab2,tabHost.getTabContentView());
// tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("微信").setContent(R.id.left));
// tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("通讯录").setContent(R.id.right));
//为选择头像这个按钮设置监听器、
Button button=findViewById(R.id.xuanzetouxiang);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//用于页面的跳转,其中这里的startActivityForResult返回数据,其中0x11是请求码
Intent intent=new Intent(MainActivity.this,HeadActivity.class);
startActivityForResult(intent,0x11);
}
});
}
// @Override
// protected void onStart() {
// Log.i("Activity生命周期","onStart()方法调用");
// super.onStart();
// }
//
// @Override
// protected void onResume() {
// Log.i("Activity生命周期","onResume()方法调用");
// super.onResume();
// }
}
package com.example.studytest06;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.media.Image;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ImageView;
public class HeadActivity extends AppCompatActivity {
public int[] imageId=new int[]{R.drawable.touxiang,R.drawable.touxiang3,
R.drawable.touxiang2,R.drawable.touxiang7,R.drawable.touxiang8,R.drawable.touxiang6,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_head);
GridView gridView=findViewById(R.id.gridView);
//为网格布局设置适配器,这里选择的适配器是baseadapter
BaseAdapter adapter=new BaseAdapter() {
@Override
public int getCount() {
return imageId.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(HeadActivity.this);
imageView.setAdjustViewBounds(true);
imageView.setMaxHeight(150);
imageView.setMaxHeight(158);
imageView.setPadding(5, 5, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(imageId[position]);
return imageView;
}
};
//为网格视图添加适配器。并返回结果
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent=getIntent();
Bundle bundle=new Bundle();
bundle.putInt("imageId",imageId[position]);//这里为什么这么写?imageId[position]
intent.putExtras(bundle);
setResult(0x11,intent);
finish();
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/touxiang"
android:layout_width="150dp"
android:layout_height="150dp"
android:src="@drawable/image"
android:layout_marginTop="50dp"
android:layout_marginLeft="150dp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/xuanzetouxiang"
android:text="选择头像"
android:textSize="50sp"
android:layout_marginTop="30dp"
android:layout_marginLeft="98dp"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".HeadActivity">
<GridView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gridView"
android:layout_marginTop="10dp"
android:horizontalSpacing="3dp"
android:verticalSpacing="3dp"
android:numColumns="4">
</GridView>
</RelativeLayout>

