2016-05-25 14 views
1

私はlistview項目を動的に追加したいと思います。私はこれを行っていたが、私は、アプリケーションを再起動するときリストビューの項目が消えます。このアイテムをリストビューに永久保存するにはどうすればいいですか?これらArrayListデータベース内のアイテムやSharedPreferenceを入れて、あなたの活動を再開する際にそれらの項目を読んでAndroidリストビュー項目を動的に追加しますか?

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-android) –

答えて

0

を提案してください。

+0

あなたは私が新しいアンドロイドを説明してください。私はまだデータベースを使用していません。 – Centreonyx

+0

android sqliteまたは共有設定を検索します。データを保存しておき、後でデータを再利用できるようにします。 –

+0

ともう1つリストビューの一番下にアイテムを追加して、新しいメッセージが来るときに自動スクロールする方法 – Centreonyx

0

あなたは、リストデータをシリアル化し破壊時のメッセージ

0

を格納するためLocal databaseSharedPreferenceまたはStatic arraylistを使用することができます。 アプリケーションが再開するときにデザリング解除されます。

関連する問題