2016-03-24 5 views
-1

ユーザーがノートを入力してリストビューに保存できるようにする単純なアプリケーションを作成しようとしています。ユーザーがリスト内の何かをlongClickして削除するには、どのコードを実装する必要がありますか?あなたの問題を解決する可能性がありますどのようにそれらを削除するListViewの項目を選択することができますか?

public class Notes extends AppCompatActivity { 

Button save; 
ArrayList<String> addArray = new ArrayList<String>(); 
EditText txt; 
ListView show; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_notes); 

    txt = (EditText) findViewById(R.id.textInput); 
    show = (ListView) findViewById(R.id.listView); 
    save = (Button) findViewById(R.id.saveButton); 

    final ArrayAdapter<String> adapter = new ArrayAdapter<String>(Notes.this, android.R.layout.simple_list_item_1, addArray); 

    save.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      String getInput = txt.getText().toString(); 

      if (addArray.contains(getInput)) { 
       Toast.makeText(getBaseContext(), "Note already added!", Toast.LENGTH_LONG).show(); 
      } else if (getInput == null || getInput.trim().equals("")) { 
       Toast.makeText(getBaseContext(), "Input required!", Toast.LENGTH_LONG).show(); 
      } else { 
       addArray.add(getInput); 

       show.setAdapter(adapter); 
       ((EditText) findViewById(R.id.textInput)).setText(" "); 
      } 
     } 
    }); 


    show.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
     @Override 
     public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) { 

      return true; 
     } 
    }); 
} 

}

+0

[カスタムリストビューとコンテキストメニューの可能な複製。どうすれば入手できますか?](http://stackoverflow.com/questions/3972945/custom-listview-and-context-menu-how-to-get-it) –

+0

私の答えを確認しましたか? –

答えて

0

は:

addArray.remove(pos); 
adapter.notifyOnDataSetChanged(); 
0

あなたは、コンテキストメニューまたはコンテキストアクション・モードを利用することができます。このチュートリアルを通して

ゴー:http://developer.android.com/guide/topics/ui/menus.html#context-menu

その後、あなたは、アダプタから項目を削除し、Notifydatasetchanged方法アダプタを使用してlostviewに通知することもできます。

関連する問題