1.在textview里用setText不能放int,不然会崩溃
2.finish()弹出框之后,在当前页面写上protected void onResume() {//加入要刷新的东西}
3.textview里width中用fill_parent,可能会出现多行文字却显示一行的问题,改成一个固定大小即可解决
4.请求的url需要编码,如:
content.replace("+", "%2B").replace("/", "%2F").replace("%", "%25").replace("#", "%23").replace("&", "%26").replace("=", "%3D");
+ URL 中+号表示空格 %2B
空格 URL中的空格可以用+号或者编码 %20
/ 分隔目录和子目录 %2F
? 分隔实际的 URL 和参数 %3F
% 指定特殊字符 %25
# 表示书签 %23
& URL 中指定的参数间的分隔符 %26
= URL 中指定参数的值 %3D
5.url中的有些表情的编码问题,解决如:
content.replace("<(?!br|img)[^>]+>", "");
6.编码问题可以直接用如下方式解决:
NameValuePair u_id = new BasicNameValuePair("param", jo.toString());
List<NameValuePair> paramsList = new ArrayList<NameValuePair>();
paramsList.add(u_id);
String str = URLEncodedUtils.format(paramsList, "utf-8");
7.listview使用menu
menu的xml,如:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/deletechat"
android:orderInCategory="100"
android:showAsAction="never"
android:title="删除本地会话"/>
<item
android:id="@+id/reportuser"
android:orderInCategory="100"
android:showAsAction="never"
android:title="举报"/>
</menu>
registerForContextMenu(listview);
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// 加载xml中的上下文菜单
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflate = getMenuInflater();
inflate.inflate(R.menu.select_menu, menu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
// 响应上下文菜单的操作
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.deletechat:
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo();
int pos = menuInfo.position;
//此处的pos为点击的listview的下标
break;
case R.id.reportuser:
break;
default:
break;
}
return super.onContextItemSelected(item);
}
8.本地保存和获取数据:
private static Editor editor;
private static SharedPreferences pref;
private static void initEditor(Context context) {
initPref(context);
editor = pref.edit();
}
private static void initPref(Context context) {
if (null == pref)
pref = context.getSharedPreferences(APPLICATION_PREFERENCES, Context.MODE_PRIVATE);
}
/**
* 获取用户名
*/
public static String getUserID(Context context) {
initPref(context);
return pref.getString(USER_NAME, "none");
}
/**
* 设置用户名
*/
public static void setUserID(Context context, String userid) {
initEditor(context);
editor.putString(USER_NAME, userid);
editor.commit();
}