我写了一段代码 点击查询后会更新listview的数据 但是现在数据查询出来了 但是去没有更新显示,为何呢?
public class WorkDiaryList extends Activity implements OnFocusChangeListener {
private ListView myListView;
InitInfo myInfo = new InitInfo();
String ServicePwd ;
NetWork myNetWork = new NetWork();
String userName;
private static String title = "";
private static String start = "";
private static String end = "";
private ArrayList<HashMap<String, Object>> listitem = null;
public SimpleAdapter listitemAdapter=null; 
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewout);
final Button querryButton = (Button) findViewById(R.id.bu1);
final EditText startEditText = (EditText) findViewById(R.id.ed1);
final EditText endEditText = (EditText) findViewById(R.id.ed2);
final EditText conEditText = (EditText) findViewById(R.id.ed3);
ServicePwd = myInfo.servicePwd;
userName = myInfo.userNameString;
listitem = myNetWork
.workDiaryList(ServicePwd, userName, title, "", start, end);//初始化数据源

////////////////////////////////////////////////////////////////////////////////////////////////////
   listitemAdapter = new SimpleAdapter(this,// 上下文
listitem, //
R.layout.listview_style,// listItem
new String[] { "title", "content" }, // map的批定Key
new int[] { R.id.topTextView, R.id.bottomTextView } // myListView.setAdapter(listitemAdapter);
//////////////////////////////////////////////////////////////////////////////////////////////
@Override// 查询事件
public void onClick(View v) {
// TODO Auto-generated method stub
// 获取控件的值
title = conEditText.getText().toString().trim();
start = startEditText.getText().toString().trim();
end = endEditText.getText().toString().trim();
listitem = myNetWork.workDiaryList(ServicePwd, userName, title,
"", start, end);
listitemAdapter.notifyDataSetChanged();
}
});

解决方案 »

  1.   

    你在哪里触发更新了呢?
    按你的意思应该是点击查询按钮开始查询并更新list吧
    你确定把按钮的响应函数绑定到按钮上面了吗
      

  2.   

    ublic void onClick(View v) {
    // TODO Auto-generated method stub
    // 获取控件的值
    title = conEditText.getText().toString().trim();
    start = startEditText.getText().toString().trim();
    end = endEditText.getText().toString().trim();
    listitem = myNetWork.workDiaryList(ServicePwd, userName, title,
    "", start, end);
    myListView.setAdapter(listitemAdapter);//重新适配数据
    }
    });
      

  3.   

    在Activity启动时,onCreate函数只会被执行一次,动态的信息需要更新的话,就不能放在这个函数里了。
      

  4.   

    的确是就执行一次 我放在start里面好像还是不行