Android学习笔记-Lesson 4: Favorite Twitter Searches Ap

1、隐藏系统键盘

((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) // have a input manager object
    .hideSoftInputFromWindow(tagEditText.getWindowToken(),0);

2、AlertDialog

    1)  最简单的AlertDialog

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage(R.string.missingMessage);
builder.setPositiveButton(R.string.OK, null);
AlertDialog errorDialog = builder.create();
errorDialog.show();

    2)有交互功能的AlertDialog

    在strings.xml中的定义

<string-array name="dialog_items">
        <item >Share</item>
        <item >Edit</item>
        <item >Delete</item>
</string-array>

    在Java代码中:

AlertDialog.Builder builder = new Builder(MainActivity.this);
builder.setTitle(title);
// AlertDialog's options
builder.setItems(R.array.dialog_items, new DialogInterface.OnClickListener() {
				
	@Override
	public void onClick(DialogInterface dialog, int which) {
		switch(which){
		case 0:
			shareSearch(tag);
			break;
		case 1:
			Edit();
			break;
		case 2:
			deleteSearch(tag);
			break;
		}
	}
});
// AlertDialog's cancel button
builder.setNegativeButton(getString(R.string.cancel), new DialogInterface.OnClickListener() {		
	@Override
	public void onClick(DialogInterface dialog, int which) {
		dialog.cancel(); // dismiss the alertDialog	
	}
});

builder.create().show();//display the AlertDialog

3、初级SharedPreferences

    在Android开发过程中,有时候我们需要保存一些简单的软件配置等简单数据的信息,而如果我们直接用数据库存储的话又不太方便,在这里我们就可以用到SharedPreferences,SharedPreferences保存的数据主要是类似于配置信息格式的数据,因此保存的数据主要是简单类型的键值对(key-value),它保存的是一个XML文件。

    SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,可以通过Context.getSharedPreferences(String name.int mode)来得到一个SharedPreferences实例

    name:是指文件名称,不需要加后缀.xml,系统会自动为我们添加上。一般这个文件存储在/data/data/<package name>/shared_prefs下(这个面试常问到)

    mode:是指定读写方式,其值有三种,分别为:

        Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写

        Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写

        Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。

实例:

 // 首先声明sharedPreferences
 SharedPreferences sharedPreferences = getSharedPreferences(name, MODE_PRIVATE);
 SharedPreferences.Editor preferencesEditor = sharedPreferences.edit();
 // 放入你要存的键值对
 preferencesEditor.putString(key, value);
 preferencesEditor.apply();
 // 一定要提交  
 preferencesEditor.commit();

4、 listView和adapter

private ArrayList<String> tags;
private ArrayAdapter<String> adapter;

// create ArrayAdapter and use it to bind tags to the ListView
adapter = new ArrayAdapter<String>(this, R.layout.list_item, tags);
setListAdapter(adapter);

// register listener that searches Twitter when user touches a tag
getListView().setOnItemClickListener(itemClickListener);
getListView().setOnItemLongClickListener(itemLongClickListener);

//when data changed, should notify adapter
adapter.notifyDataSetChanged();

5、在strings.xml中加入变量:

<string name="shareEditDeleteTitle">Hello, \&quot;%s\&quot;</string>

在java代码中:

String value = "sunny";
String result = getString(R.string.value,value)

System.out.println(result); // Hello, sunny


你可能感兴趣的:(android,ListView,inputmethod,AlertDialog)