麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

實現ContentResolver對ContentProvider內容的修改

2019-11-10 20:01:19
字體:
來源:轉載
供稿:網友

如果大家想看ContentPRovider的實現流程,請關注博主查看博主博客,感謝大家的支持,

ContentResolver的實現沒有ContentProvider復雜,不需要配置清單文件(除訪問系統的權限要添加外,自己模擬底層的就不用了)不多說了 直接上代碼

MainActivity的布局文件

<EditText        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="ID"        android:id="@+id/et_main_id"/>    <Button        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="獲取數據"        android:id="@+id/bt_mainsss_button"        />    <ListView        android:layout_width="match_parent"        android:layout_height="match_parent"        android:id="@+id/lv_list"        ></ListView>

由于長按修改和Listview自己定義的布局。所以也加上來

先上長按修改的布局

<TextView        android:id="@+id/tv_dialog_list_id"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:textSize="30sp" />    <EditText        android:id="@+id/et_dialog_list_name"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="30sp" />    <EditText        android:id="@+id/et_dialog_list_age"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:textSize="30sp" />    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content">        <Button            android:id="@+id/btn_dialog_list_ok"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="確定修改" />        <Button            android:id="@+id/btn_dialog_list_nook"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="取消修改" />    </LinearLayout>

然后是ListView的布局文件

 <TextView        android:id="@+id/tv_list_id"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1" />    <TextView        android:id="@+id/tv_list_name"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1" />    <TextView        android:id="@+id/tv_list_age"        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="1" />

MainActivity的主要代碼

public class MainActivity extends AppCompatActivity {    private EditText et_main_id;    private Button bt_mainsss_button;    private Uri uri;    private ContentResolver cr;    private ListView lv_list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        et_main_id = (EditText) findViewById(R.id.et_main_id);        bt_mainsss_button = (Button) findViewById(R.id.bt_mainsss_button);        lv_list = (ListView) findViewById(R.id.lv_list);        //獲得內容訪問者        cr = getContentResolver();        //點擊事件        bt_mainsss_button.setOnClickListener(new View.OnClickListener() {            private SimpleCursorAdapter simpleCursorAdapter;            @Override            public void onClick(View view) {                if (TextUtils.isEmpty(et_main_id.getText().toString())) {                    //查詢所有                    uri = Uri.parse("content://com.example.contentprovider.PERSON/student");                } else {                    //查詢單個                    String id = et_main_id.getText().toString();                    uri = Uri.parse("content://com.example.contentprovider.PERSON/student/" + id);                }                Cursor cursor = cr.query(uri, null, null, null, null);                //SimleCursorAdapter                while (cursor.moveToNext()) {                    int id = cursor.getInt(cursor.getColumnIndex("_id"));                    String name = cursor.getString(cursor.getColumnIndex("name"));                    int age = cursor.getInt(cursor.getColumnIndex("age"));                    Log.i("test", id + " " + name + " " + age);//                        simpleCursorAdapter.changeCursor(cursor);                }                simpleCursorAdapter = new SimpleCursorAdapter(MainActivity.this, R.layout.item_list, cursor, new String[]{"_id", "name", "age"}, new int[]{R.id.tv_list_id, R.id.tv_list_name, R.id.tv_list_age});                lv_list.setAdapter(simpleCursorAdapter);            }        });        lv_list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {            private EditText et_dialog_list_name;            private EditText et_dialog_list_age;            private TextView tv_dialog_list_id;            @Override            public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {                LinearLayout root = (LinearLayout) view;                String id = ((TextView) root.findViewById(R.id.tv_list_id)).getText().toString();                String name = ((TextView) root.findViewById(R.id.tv_list_name)).getText().toString();                String age = ((TextView) root.findViewById(R.id.tv_list_age)).getText().toString();                final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);                final AlertDialog alertDialog = builder.create();                //點擊空白處,不取消對話框                alertDialog.setCancelable(false);                View v = View.inflate(MainActivity.this, R.layout.dialog, null);                tv_dialog_list_id = (TextView) v.findViewById(R.id.tv_dialog_list_id);                et_dialog_list_name = (EditText) v.findViewById(R.id.et_dialog_list_name);                et_dialog_list_age = (EditText) v.findViewById(R.id.et_dialog_list_age);                tv_dialog_list_id.setText(id);                et_dialog_list_name.setText(name);                et_dialog_list_age.setText(age);                ((Button) v.findViewById(R.id.btn_dialog_list_ok)).setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View view) {                        String _id=tv_dialog_list_id.getText().toString();                        String _name=et_dialog_list_name.getText().toString();                        String _age=et_dialog_list_age.getText().toString();                        Toast.makeText(MainActivity.this, "_id"+_id+"_name"+_name+"_age"+_age, Toast.LENGTH_SHORT).show();//如果要實現修改后刷新,只要在關閉前在查一次就行                        ContentValues values=new ContentValues();                        values.put("name",""+_name);                        values.put("age",""+_age);                        cr.update(uri,values,"_id=?",new String[]{_id});                        alertDialog.dismiss();                    }                });                ((Button) v.findViewById(R.id.btn_dialog_list_nook)).setOnClickListener(new View.OnClickListener() {                    @Override                    public void onClick(View view) {                        //關閉當前對話框                        alertDialog.dismiss();                    }                });                alertDialog.setView(v);                alertDialog.show();                return true;            }        });    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久草在线视频网 | 一级做受毛片免费大片 | 欧美爱爱视频 | 黑人一区二区三区四区五区 | 久久久裸体视频 | 精品无码久久久久久国产 | 91精品国| 男女羞羞视频在线免费观看 | 亚洲精品无码不卡在线播放he | 午夜视频在线观看免费视频 | 一级网站片 | 日日鲁夜夜视频热线播放 | 一级毛片看 | 欧美福利视频一区二区三区 | 亚洲精品久久久久www | 一级黄色性感片 | 九一国产精品 | 日本免费中文字幕 | 欧美成年私人网站 | 国产精品国产三级国产在线观看 | 极品一级片| 国产免费一区 | 欧美亚洲黄色片 | 国产在线播放一区二区 | 久久超碰99 | 欧美日韩高清在线观看 | 狠狠操精品视频 | 国产精品美女一区二区 | 黄色网址进入 | 欧美精品成人一区二区在线观看 | 天天草夜夜骑 | 国产资源在线视频 | 99热99精品 | av在线看网站 | 一区二区三区在线观看免费视频 | 国产日韩一区二区三区在线观看 | 色婷婷久久久亚洲一区二区三区 | 欧美一区二区三区久久精品视 | 欧美日韩一 | 国产又粗又爽又深的免费视频 | 久久精品一区二区三区国产主播 |