从contextMenu

时间:2017-12-22 22:40:28

标签: android listview contextmenu show

我创建了一个列表视图,我想将数据从MainActivity发送到UpdateActivity以显示其中的数据,但当我点击listView中的任何项目时,显示所有项目的位置为0的项目 例如,我点击了位置为4的项目,显示了位置0的项目 问题出在哪儿 MainActivity中的代码

int mypos = 0;
List<Employee> list;
MyAdapter adapter;
ListView lv;

这是用于ListView的onClickListener的代码我将位置设置为mypos以获取项目的位置

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            Employee e=list.get(position);
            Intent intent = new Intent(getApplicationContext(),ShowdActivity.class);
            intent.putExtra("MobileId",e.getId());
            intent.putExtra("MobileName",e.getName());
            intent.putExtra("image",e.getImg());
            startActivity(intent);
            mypos = position;
        }
    });

这是contextMenu的代码,用于将数据发送到UpdateActivity的更新项

@Override
public boolean onContextItemSelected(MenuItem item) {
    Employee e=list.get(mypos);
 switch (item.getItemId()){
     case R.id.updateOp:
         Intent intent = new Intent(getApplicationContext(),updateActivity.class);
         intent.putExtra("MobileId",e.getId());
         intent.putExtra("MobileName",e.getName());
         intent.putExtra("image",e.getImg());
         startActivity(intent);
         break;

最后,这是updateActivity重新传输数据并显示它的代码

public class updateActivity extends AppCompatActivity {
ImageView imageUpdate;
EditText idUpdate;
EditText nameUpdate;
Button saveUpdate;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_update);
    imageUpdate = findViewById(R.id.imageEdit);
    idUpdate = findViewById(R.id.idEdit);
    nameUpdate = findViewById(R.id.nameEdit);
    saveUpdate = findViewById(R.id.saveButton);

    int idupdate = getIntent().getIntExtra("MobileId",0);
    int imagupdate = getIntent().getIntExtra("image",0);
    imageUpdate.setImageResource(imagupdate);
    idUpdate.setText(idupdate+"");
    nameUpdate.setText(getIntent().getStringExtra("MobileName"));
}

}

0 个答案:

没有答案