2016-05-25 142 views
1

我要動態地添加列表視圖項。我做了這個,但是當我重新啓動應用程序列表視圖項目消失。我如何將這個項目永久保存到列表視圖。請建議Android動態添加Listview項目嗎?

public class ChatWithAttorney extends Activity { 
    ImageView btnBack; 
    ListView chatList; 
    EditText etMsg; 
    Button btnSend; 
    String msg_to_send; 
    ArrayAdapter<String> adapter; 
    ArrayList<String> listMsg; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.chatwithattorny); 
     btnBack = (ImageView) findViewById(R.id.btnback); 
     chatList = (ListView) findViewById(R.id.chatList); 
     etMsg = (EditText) findViewById(R.id.etMsg); 
     btnSend = (Button) findViewById(R.id.btnSend); 
     listMsg = new ArrayList<String>(); 
     adapter = new ArrayAdapter<String>(this, R.layout.chat_list_text, R.id.tvSentMsg,listMsg); 
     chatList.setAdapter(adapter); 
     btnSend.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       try { 
        msg_to_send = URLEncoder.encode(etMsg.getText().toString(), 
          "utf-8"); 
        listMsg.add(msg_to_send); 
        adapter.notifyDataSetChanged(); 
       } catch (UnsupportedEncodingException e) { 
        e.printStackTrace(); 
       } 
      } 
     }); 
    } 
+0

使用本地數據庫 – mdDroid

+0

你的問題是關於持久性存儲,不添加動態元素......話雖這麼說,有一個名爲[存儲選項]寫得很好頁面(https://developer.android.com /guide/topics/data/data-storage.html) –

+0

你好,請檢查此鏈接,你會得到你的答案[點擊這裏](http://stackoverflow.com/questions/4540754/dynamically-add-elements-to-a -listview-機器人)的 –

回答

0

把那些ArrayList項目在數據庫或SharedPreference並恢復您的活動時閱讀這些項目。

+0

能否請您解釋一下我的新到Android。我還沒有使用任何數據庫。 – Centreonyx

+0

搜索android sqlite或共享首選項。他們會保存您的數據,以便以後可以重複使用您的數據。 –

+0

還有一件事我怎麼可以在列表視圖和經銷商向上滾動的底部添加項目時加入到列表可以指定位置,當新的信息出現 – Centreonyx

0

您可以使用Local databaseSharedPreferenceStatic arraylist用於存儲信息

0

AT摧毀序列化的列表數據的時間。 而Deserilize當應用程序再次啓動。

用於存儲信息