私はAndroid v4を使用しています。個人の連絡先を表示するリスト ビューを作成しました
public class MainActivity extends Activity {
public ListView mainListView ;
public ArrayAdapter<String> listAdapter ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Find the ListView resource.
mainListView = (ListView) findViewById( R.id.mainListView );
String[] contacts = new String[] { "Adam", "James", "Alex", "Tom",
"Horton", "Jim","Einstein","Thomson","Dick","Mascow"};
ArrayList<String> contactsList = new ArrayList<String>();
contactsList.addAll( Arrays.asList(contacts) );
listAdapter = new ArrayAdapter<String>(this, R.layout.rowview, contactsList);
listAdapter.add( "Cameroon" );
// Set the ArrayAdapter as the ListView's adapter.
mainListView.setAdapter( listAdapter );
registerForContextMenu(mainListView);
}
リストアイテムをロングクリックするとContextMenuが表示されます。Context_menu.xml は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/Edit"
android:title="@string/Edit">
</item>
<item
android:id="@+id/Delete"
android:title="@string/Delete">
</item>
</menu>
コンテキスト メニューの [削除] をクリックすると、ListItem 値が取得され、ListItem が ListItem から削除されます。コンテキストメニューの私のコードは次のとおりです。
public boolean onContextItemSelected(MenuItem item){
AdapterContextMenuInfo info=(AdapterContextMenuInfo)item.getMenuInfo();
switch(item.getItemId())
{
case R.id.Edit:
// Edit List Item and Save
return true;
case R.id.Delete:
listAdapter.remove(listAdapter.getItem(info.position));
Toast.makeText(this, "Deleted", Toast.LENGTH_SHORT).show();
}
return true;
}
さて、私の疑問は、編集ボタンをクリックして編集した連絡先を保存したときに特定のリスト項目を編集する方法です。
私は Android を初めて使用し、イベントの処理について何も知りません。誰か助けてください!!
ありがとう。