MainActivity.class
package gaga.erlan.apps.aiyesoft.com.gaga; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.support.v7.app.AppCompatActivity; import android.widget.EditText; import android.widget.TextView; public class MainActivity extends AppCompatActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent it = super.getIntent(); //取得当前的Intent String skill_title = it.getStringExtra("skill_title"); String skill_phrase = it.getStringExtra("skill_phrase"); TextView select = (TextView)findViewById(R.id.select); select.setText(skill_title); EditText about = (EditText)findViewById(R.id.about); about.setText(skill_phrase); } public void select(View v) { Intent intent=new Intent(); intent.setClass(MainActivity.this, SelectActivity.class); startActivity(intent); } }
SelectAdapter.class
package gaga.erlan.apps.aiyesoft.com.gaga.adapter;
import android.content.Context;
import android.net.Uri;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.Adapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.TextView;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.view.SimpleDraweeView;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import gaga.erlan.apps.aiyesoft.com.gaga.R;
/**
* Created by Administrator on 2017/11/28.
*/
public class SelectAdapter extends RecyclerView.Adapter<SelectAdapter.ViewHolder> implements View.OnClickListener {
private JSONArray list;
private Context content;
private String skill_name,skill_phrase,skill_gif;
private ViewHolder myHolder;
//声明这个接口的变量
private OnItemClickListener mOnItemClickListener = null;
//在MyAdapter中定义如下接口,模拟ListView的OnItemClickListener:
public interface OnItemClickListener {
void OnItemClick(View view, int position);
}
public SelectAdapter(Context content) {
super();
this.content = content;
}
public void setMyAdapterList(JSONArray list) {
this.list = list;
}
//在onCreateViewHolder()中为每个item添加点击事件
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
Fresco.initialize(content);
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.gridviewwitem, parent, false);
ViewHolder vh = new ViewHolder(view);
//将创建的View注册点击事件
view.setOnClickListener(this);
return vh;
}
//注意上面调用接口的onItemClick()中的v.getTag()方法,这需要在onBindViewHolder()方法中设置和item的position
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
myHolder = (ViewHolder) holder;
if (myHolder != null) {
try {
JSONObject tem_obj = (JSONObject) list.get(position);
skill_name = tem_obj.getString("skill_name");
skill_phrase = tem_obj.getString("skill_phrase");
skill_gif = tem_obj.getString("skill_gif");
if (skill_name != null) myHolder.grid_title.setText(skill_name);
if (skill_phrase != null) myHolder.grid_phrase.setText(skill_phrase);
if (skill_gif != null)myHolder.grid_gif.setImageURI(Uri.parse(skill_gif));
} catch (JSONException e) {
e.printStackTrace();
}
}
holder.itemView.setTag(position);
}
//将点击事件转移给外面的调用者
@Override
public void onClick(View v) {
if (mOnItemClickListener != null) {
//注意这里使用getTag方法获取position
mOnItemClickListener.OnItemClick(v,(int)v.getTag());
}
}
//最后暴露给外面的调用者,定义一个设置Listener的方法()
public void setOnItemClickListener(OnItemClickListener listener) {
this.mOnItemClickListener = listener;
}
@Override
public int getItemCount() {
if (list == null) return 0;
return list.length();
}
public static class ViewHolder extends RecyclerView.ViewHolder {
TextView grid_title;
TextView grid_phrase;
SimpleDraweeView grid_gif;
public ViewHolder(View view) {
super(view);
grid_title = (TextView) view.findViewById(R.id.grid_title);
grid_phrase = (TextView) view.findViewById(R.id.grid_phrase);
grid_gif = (SimpleDraweeView) view.findViewById(R.id.grid_image);
}
}
}
SelectActivity.class
package gaga.erlan.apps.aiyesoft.com.gaga;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.xutils.view.annotation.ViewInject;
import org.xutils.x;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import gaga.erlan.apps.aiyesoft.com.gaga.adapter.SelectAdapter.OnItemClickListener;
import gaga.erlan.apps.aiyesoft.com.gaga.adapter.SelectAdapter;
import static gaga.erlan.apps.aiyesoft.com.gaga.R.id.grid_title;
/**
* Created by Administrator on 2017/11/21.
*/
public class SelectActivity extends AppCompatActivity {
private static JSONArray dataArr;
private static JSONObject recordObj;
SharedPreferences sharedPreferences;
private String skill_gif, skill_phrase, skill_title;
@ViewInject(R.id.select_gridview)
private RecyclerView recycleView;
private SelectAdapter myAdapter;
//List容器包含项目列表要填充的数据
private List<Map<JSONObject, Object>> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select);
x.view().inject(this);
getMessage();
myAdapter = new SelectAdapter(this);
recycleView.setLayoutManager(new LinearLayoutManager(this));
recycleView.setAdapter(myAdapter);
//Activity中调用点击方法
myAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void OnItemClick(View view, int position) {
TextView grid_title = (TextView)view.findViewById(R.id.grid_title);
TextView grid_phrase = (TextView)view.findViewById(R.id.grid_phrase);
// Toast.makeText(SelectActivity.this,grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_LONG).show();
/* switch (position) {
case 0:
Toast.makeText(SelectActivity.this,"这是第一个"+grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_SHORT).show();
break;
case 1:
Toast.makeText(SelectActivity.this,"这是第二个"+grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_SHORT).show();
break;
}*/
Intent intent = new Intent();
intent.setClass(SelectActivity.this, MainActivity.class);
intent.putExtra("skill_title",grid_title.getText().toString());
intent.putExtra("skill_phrase",grid_phrase.getText().toString());
startActivity(intent);
}
});
}
public void getMessage() {
sharedPreferences = getSharedPreferences(AppConfig.userdata, 0);
String token = sharedPreferences.getString("token", "");
HashMap<String, String> paramMap = new HashMap<String, String>();
paramMap.put("token", token);//根据实际需求添加相应键值对
AppHttp.post("/api/main/daytodo", paramMap, new AppHttp.AppHttpCallBlack() {
@Override
public void AppHttpPostBlack(JSONObject jsonObj, Object dataObj, Exception ex) {
if (dataObj != null) {
if (dataObj instanceof JSONArray) {
JSONArray tem_array = (JSONArray) dataObj;
myAdapter.setMyAdapterList(tem_array);
myAdapter.notifyDataSetChanged();
}
try {
String code = jsonObj.getString("code");
JSONArray dataArr = jsonObj.getJSONArray("data");
for (int j = 0; j < dataArr.length(); j++) {
JSONObject recordObj = dataArr.getJSONObject(j);
skill_gif = recordObj.getString("skill_gif");
skill_phrase = recordObj.getString("skill_phrase");
skill_title = recordObj.getString("skill_title");
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(AppConfig.code, code);
editor.putString(AppConfig.skill_gif, skill_gif);
editor.putString(AppConfig.skill_phrase, skill_phrase);
editor.putString(AppConfig.skill_title, skill_title);
editor.commit();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
}
}
item布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="vertical">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/grid_image"
android:layout_width="200dp"
android:layout_height="wrap_content"
fresco:viewAspectRatio="1.75"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>
<TextView
android:id="@+id/grid_title"
android:text="看电影"
android:textSize="20dp"
android:layout_marginLeft="20dp"
android:textColor="#000000"
android:layout_width="125dp"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/grid_phrase"
android:text="一起安静的看电影-今日有200对看电影"
android:textColor="#000000"
android:textSize="15dp"
android:layout_marginLeft="20dp"
android:layout_width="125dp"
android:layout_height="20dp" />
</LinearLayout>
</LinearLayout>
RecyclerView布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/select_gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:horizontalSpacing="10dp"
android:numColumns="2"
android:stretchMode="columnWidth"
android:verticalSpacing="10dp" />
</LinearLayout>
SelectActivity.class
package gaga.erlan.apps.aiyesoft.com.gaga; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import org.xutils.view.annotation.ViewInject; import org.xutils.x; import java.util.HashMap; import java.util.List; import java.util.Map; import android.support.v7.widget.RecyclerView; import android.view.View; import android.widget.TextView; import android.widget.Toast; import gaga.erlan.apps.aiyesoft.com.gaga.adapter.SelectAdapter.OnItemClickListener; import gaga.erlan.apps.aiyesoft.com.gaga.adapter.SelectAdapter; import static gaga.erlan.apps.aiyesoft.com.gaga.R.id.grid_title; /** * Created by Administrator on 2017/11/21. */ public class SelectActivity extends AppCompatActivity { private static JSONArray dataArr; private static JSONObject recordObj; SharedPreferences sharedPreferences; private String skill_gif, skill_phrase, skill_title; @ViewInject(R.id.select_gridview) private RecyclerView recycleView; private SelectAdapter myAdapter; //List容器包含项目列表要填充的数据 private List<Map<JSONObject, Object>> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_select); x.view().inject(this); getMessage(); myAdapter = new SelectAdapter(this); recycleView.setLayoutManager(new LinearLayoutManager(this)); recycleView.setAdapter(myAdapter);//Activity中调用点击方法 myAdapter.setOnItemClickListener(new OnItemClickListener() { @Override public void OnItemClick(View view, int position) { TextView grid_title = (TextView)view.findViewById(R.id.grid_title); TextView grid_phrase = (TextView)view.findViewById(R.id.grid_phrase); // Toast.makeText(SelectActivity.this,grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_LONG).show(); /* switch (position) { case 0: Toast.makeText(SelectActivity.this,"这是第一个"+grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_SHORT).show(); break; case 1: Toast.makeText(SelectActivity.this,"这是第二个"+grid_title.getText().toString()+"++++++++++++"+grid_phrase.getText().toString(),Toast.LENGTH_SHORT).show(); break; }*/ Intent intent = new Intent(); intent.setClass(SelectActivity.this, MainActivity.class); intent.putExtra("skill_title",grid_title.getText().toString()); intent.putExtra("skill_phrase",grid_phrase.getText().toString()); startActivity(intent); } }); } public void getMessage() { sharedPreferences = getSharedPreferences(AppConfig.userdata, 0); String token = sharedPreferences.getString("token", ""); HashMap<String, String> paramMap = new HashMap<String, String>(); paramMap.put("token", token);//根据实际需求添加相应键值对 AppHttp.post("/api/main/daytodo", paramMap, new AppHttp.AppHttpCallBlack() { @Override public void AppHttpPostBlack(JSONObject jsonObj, Object dataObj, Exception ex) { if (dataObj != null) { if (dataObj instanceof JSONArray) { JSONArray tem_array = (JSONArray) dataObj; myAdapter.setMyAdapterList(tem_array); myAdapter.notifyDataSetChanged(); } try { String code = jsonObj.getString("code"); JSONArray dataArr = jsonObj.getJSONArray("data"); for (int j = 0; j < dataArr.length(); j++) { JSONObject recordObj = dataArr.getJSONObject(j); skill_gif = recordObj.getString("skill_gif"); skill_phrase = recordObj.getString("skill_phrase"); skill_title = recordObj.getString("skill_title"); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(AppConfig.code, code); editor.putString(AppConfig.skill_gif, skill_gif); editor.putString(AppConfig.skill_phrase, skill_phrase); editor.putString(AppConfig.skill_title, skill_title); editor.commit(); } } catch (JSONException e) { e.printStackTrace(); } } } }); } }
item布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:fresco="http://schemas.android.com/apk/res-auto" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:orientation="vertical"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/grid_image" android:layout_width="200dp" android:layout_height="wrap_content" fresco:viewAspectRatio="1.75" android:layout_centerHorizontal="true" android:layout_marginTop="20dp"/> <TextView android:id="@+id/grid_title" android:text="看电影" android:textSize="20dp" android:layout_marginLeft="20dp" android:textColor="#000000" android:layout_width="125dp" android:layout_height="wrap_content" /> <TextView android:id="@+id/grid_phrase" android:text="一起安静的看电影-今日有200对看电影" android:textColor="#000000" android:textSize="15dp" android:layout_marginLeft="20dp" android:layout_width="125dp" android:layout_height="20dp" /> </LinearLayout> </LinearLayout>
RecyclerView布局
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.RecyclerView android:id="@+id/select_gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:horizontalSpacing="10dp" android:numColumns="2" android:stretchMode="columnWidth" android:verticalSpacing="10dp" /> </LinearLayout>