我使用的是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>
单击“上下文菜单”中的“删除”时,我将从List中获取ListItem值,从而删除ListItem。我的Context Menu代码如下,
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新手,对处理事件一无所知。 请任何人帮忙!!
感谢。
答案 0 :(得分:0)
你可以这样做
View view = yourListView.getChildAt(index -
yourListView.getFirstVisiblePosition());
TextView someText = ((TextView) view findViewById(R.id.textview01));
someText.setText("updated");