1

あるアクティビティから別のアクティビティに long 型の変数を渡して、それを 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 アクティビティの変数を取得しました。

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

これを使用するほうがよい...2番目のアクティビティでは、次のような1つの変数を宣言します...

public static long dataUse;

現在初活動中

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);

               }}); 

2 番目のアクティビティでは、

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