//DEMO 示例 (可以直接复制粘贴验证功能--如有bug或者其他问题,欢迎留言),需要butterknife, recyclerview依赖包
package com.ontime.change;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
//显示条目的Activity
public class MainActivity extends AppCompatActivity {
private MyAdapter adapter;
private RecyclerView rv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rv = (RecyclerView) findViewById(R.id.rv);
rv.setLayoutManager(new LinearLayoutManager(this));
adapter = new MyAdapter(this);
rv.setAdapter(adapter);
adapter.notifyDataSetChanged();
adapter.setItemClickListener(new MyAdapter.MyItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
intent.putExtra("位置", position);
startActivityForResult(intent,200);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bundle allData = data.getExtras();
int pos = allData.getInt("位置");
String price = allData.getString("新价格");
TextView tv2 = rv.getChildAt(pos).findViewById(R.id.tv2);
tv2.setText(price);
adapter.notifyDataSetChanged();
}
}
//获取需要值的Activity
package com.ontime.change;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import butterknife.ButterKnife;
import butterknife.InjectView;
import butterknife.OnClick;
public class TwoActivity extends AppCompatActivity{
@InjectView(R.id.oldPrice)
TextView oldPrice;
@InjectView(R.id.newPrice)
EditText newPrice;
private SharedPreferences sp;
private String latest;
private int position;
private Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_two);
ButterKnife.inject(this);
sp = getSharedPreferences("价格", MODE_PRIVATE);
intent = getIntent();
position = intent.getIntExtra("位置", 0);
oldPrice.setText(sp.getString("价格" + position, "暂未设置价格"));
}
@OnClick({R.id.btn_confirm, R.id.btn_skip})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.btn_confirm:
latest = newPrice.getText().toString().trim();
if (!TextUtils.isEmpty(latest)) {
SharedPreferences.Editor editor = sp.edit();
editor.putString("价格" + position, latest);
editor.commit();
Toast.makeText(this, "新价格" + latest + "更新成功", Toast.LENGTH_SHORT).show();
intent.putExtra("新价格", latest);
intent.putExtra("位置", position);
setResult(RESULT_OK, intent);
finish();
} else {
Toast.makeText(this, "价格不可为空", Toast.LENGTH_SHORT).show();
}
break;
case R.id.btn_skip:
intent.putExtra("旧价格", sp.getString("价格", "暂无标签绑定"));
intent.putExtra("位置", position);
setResult(RESULT_OK, intent);
finish();
break;
default:
break;
}
}
}
//适配器Adapter
package com.ontime.change;
import android.content.Context;
import android.content.SharedPreferences;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import static android.content.Context.MODE_PRIVATE;
public class MyAdapter extends RecyclerView.Adapter {
public MyAdapter(Context context) {
this.context = context;
}
private Context context;
private MyItemClickListener mItemClickListener;
private SharedPreferences sp;
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false);
ViewHolder viewHolder = new ViewHolder(view,mItemClickListener);
return viewHolder;
}
//绑定数据
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
final ViewHolder viewHolder = (ViewHolder) holder;
viewHolder.tv1.setText(position + "号");
sp = context.getSharedPreferences("价格", MODE_PRIVATE);
viewHolder.tv2.setText(sp.getString("价格" + position, "还没有设置价格哟"));
}
@Override
public int getItemCount() {
return 3;
}
static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
private TextView tv1;
private TextView tv2;
private MyItemClickListener mListener;
ViewHolder(View view, MyItemClickListener myItemClickListener) {
super(view);
tv1 = view.findViewById(R.id.tv1);
tv2 = view.findViewById(R.id.tv2);
this.mListener = myItemClickListener;
itemView.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (mListener != null) {
mListener.onItemClick(view, getLayoutPosition());
}
}
}
public interface MyItemClickListener {
void onItemClick(View view, int position);
}
public void setItemClickListener(MyItemClickListener myItemClickListener) {
this.mItemClickListener = myItemClickListener;
}
}
//activity_main 布局文件<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rv"
/>
</RelativeLayout>
//activity_two 布局文件
<?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"
>
<TextView
android:id="@+id/tv_shake"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="10dp"
android:text="请进行商品价格绑定绑定"
android:textColor="@android:color/black"
android:textSize="20sp"
/>
<RelativeLayout
android:id="@+id/rl_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/tv_shake"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:gravity="center_vertical"
>
<TextView
android:id="@+id/tv_sentence"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="当前价格:"
android:textColor="@android:color/black"
android:textSize="15sp"
/>
<TextView
android:id="@+id/oldPrice"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_toRightOf="@+id/tv_sentence"
android:gravity="center_vertical"
android:textSize="15sp"
/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/rl_container_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/rl_container"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
>
<TextView
android:id="@+id/tv_sentence_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center_vertical"
android:text="最新价格:"
android:textColor="@android:color/black"
android:textSize="15sp"
/>
<EditText
android:id="@+id/newPrice"
android:layout_width="100dp"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_toRightOf="@+id/tv_sentence_1"
android:gravity="center_vertical"
android:textSize="15sp"
/>
</RelativeLayout>
<Button
android:id="@+id/btn_confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/rl_container_1"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="绑定 / 更换绑定"
/>
<Button
android:id="@+id/btn_skip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/btn_confirm"
android:layout_marginTop="20dp"
android:gravity="center"
android:text="暂时不更改绑定"
/>
</RelativeLayout>
//条目list 布局文件
<?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="wrap_content"
android:orientation="vertical"
android:layout_marginTop="20dp"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="商品: "
android:textSize="25dp"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="价格: "
android:textSize="25dp"
/>
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="25dp"
/>
</LinearLayout>
</LinearLayout>