1

我试图将一个长类型变量从一个活动传递到另一个活动,然后在 TextView 中显示它。我在 firstActivity 中使用了这段代码来获取和传输变量:

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

                    long currentId = (long) values.get(position).getId();

                    Intent edit_acc = new Intent(MainActivity.this, EditAccount.class);
                    edit_acc.putExtra("data_id", currentId);
                    startActivity(edit_acc);

               }}); 

我用它来获取 EditAccount Activity 中的变量:

Intent intent=getIntent();
        int id =(int) intent.getExtras().getInt("data_id");
        TextView txt_id=(TextView)findViewById(R.id.txt_value_id); 
        txt_id.setText(id);

代码中似乎有一个我无法弄清楚的错误。请帮助。先谢谢了,等待您的回复...

4

3 回答 3

0

1.

int id =(int) intent.getExtras().getLong("data_id");

2. 作为您的 int 类型的 id,因此您需要类型转换txt_id.setText(id);

所以你的代码应该是:

任何一个

    txt_id.setText(""+id);

或者

    txt_id.setText(Integer.valueOf(id).toString());
于 2013-07-29T10:39:56.297 回答
0

尝试使用它,以便您可以正常使用。

lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            long id = arg0.getItemIdAtPosition(arg2);
            Log.v("id", id+"");

        }
    });
于 2013-07-29T10:49:01.487 回答
-1

最好使用这个...在您的第二个活动中声明一个像这样的变量...

公共静态长数据使用;

现在在第一个活动

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

                    long currentId = (long) values.get(position).getId();
                    EditAccount.dataUsage = currentId;
                    Intent edit_acc = new Intent(MainActivity.this, EditAccount.class);
                    startActivity(edit_acc);

               }}); 

现在在第二个活动中,

txt_id.setText(dataUse);
于 2013-07-29T10:44:09.717 回答