Передача параметров между действиями не работает - PullRequest
1 голос
/ 04 августа 2011

Передача параметров работает с двумя обычными действиями, но когда я пытаюсь передать это из gridview другому действию, значение возвращает null

Первое действие

        gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

            //This takes the position id of the image and change
            //it to match category id
            position = position + 1;
            String positionId = String.valueOf(position);

            System.out.println(positionId);

            Toast.makeText(MenuActivity.this, "position =" + positionId + "\nid =" + id, Toast.LENGTH_SHORT).show();
            Intent myIntent = new Intent(v.getContext(), MenuItemActivity.class);
            myIntent.putExtra("hello", "hello");
            startActivityForResult(myIntent, 0);


        }
    });

Моя дополнительная деятельность (MenuItemActivity.java)

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.menuitem);


    try{
        Bundle extras = getIntent().getExtras();
        String category = null;
        extras.getString("Category "+extras.getString("hello"));
        System.out.println("Category = "+category);
    } catch(Exception e){ 
        System.out.println("Error "+e.getMessage());
    }

Ответы [ 2 ]

3 голосов
/ 04 августа 2011

отсюда это выглядит как главная страница >> подробно. если так, то почему ты звонишь

startActivityForResult(myIntent, 0);

вместо простого

startActivity(myIntent);

Вы можете попробовать это и сказать мне, если это работает.

getIntent().getStringExtra("hello");
0 голосов
/ 04 августа 2011

Во втором упражнении вам нужно вызвать setResult , чтобы фактически передать данные обратно в первое занятие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...