0

ListViewを使用する必要のあるAndroidアプリケーションを作成しています。ユーザーがメニューボタンを押すと、TextView、EditText、および2つのボタン「OK」と「キャンセル」を含むポップアップウィンドウがポップアップ表示されます。ユーザーが[OK]を押すと、EditText内のテキストがListViewに追加されます。そしてキャンセルボタンは明らかです。また、ListViewアイテムを長押しして、削除ボタンを含むポップアップウィンドウを開くことができるようにしたいと思います。どうすればこれを可能にできますか?私はこれまでこのコードを使用しています:

public class NotesActivity extends ListActivity {
/** Called when the activity is first created. */
Button AddItemToListView;
  static final String[] COUNTRIES = new String[] {
      "Matte på A1 med Ole", "Engelsk på klasserommet", "Film på A1 etter friminuttet"
      };
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.notes);
    setListAdapter((ListAdapter) new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));

    ListView lv = getListView();
    lv.setTextFilterEnabled(true);

    lv.setOnItemClickListener(new OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view,
          int position, long id) {
        // When clicked, show a toast with the TextView text
        Toast.makeText(getApplicationContext(), "Note: " + ((TextView) view).getText(),
            Toast.LENGTH_SHORT).show();
  }
    });
  }
@Override
public boolean onCreateOptionsMenu(Menu meny) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.listviewmenubuttons, meny);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch(item.getItemId()) {
    case R.id.AddItemToListView:
        Toast.makeText(NotesActivity.this,
                "Add note button pressed", Toast.LENGTH_SHORT)
                .show();
        break;
        }
    return true;
}
}
4

2 に答える 2

0

listview.setonlongclick() にアクセスした後に機能を追加したい場合は、ダイアログについて調査してみてください。これは、Android ダイアログ開発者に関するリンクです。

于 2012-02-10T16:23:54.187 に答える
0

ArrayAdapter を使用しているため、ユーザーが追加をタップすると、新しい項目を配列に追加する必要があります (配列からリストに変更して簡単にします)。次に、ArrayAdapter から notifyDataSetChanged() を呼び出す必要があります。

削除は同じですが、リストからアイテムを削除します。notifyDataSetChanged() の呼び出しは、ListView 自体を再描画する必要があることを伝えるためのものです。

于 2012-02-10T16:47:06.660 に答える