綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] startActivityForResult 接收失敗

[複製連結] 查看: 2080|回覆: 10|好評: 0
跳轉到指定樓層
樓主
peggy02011187 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-4-8 07:42
5碎鑽
程式碼如下
A_pay.java 部分

...
private static final int EDIT = 1;
protected void onStart() {
                super.onStart();
                setContentView(R.layout.A_pay);
                TextView to_set_money = (TextView) findViewById(R.id.txv_money);               
                to_set_money.setOnClickListener(new View.OnClickListener() {
                        public void onClick(View v) {
                                Intent intent = new Intent();
                                intent.setClass(A_pay.this, .Com.class);
                                A_pay.this.startActivityForResult(intent, EDIT);
                        }
                });
        }

        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                TextView to_set_money = (TextView) findViewById(R.id.txv_money);               
                switch (requestCode) {
                case EDIT:
                        Bundle bundle = data.getExtras();
                        int aaa = bundle.getInt("money1"); //只要在 onActivityResult 有執行動作,程式就會在這裡崩潰
                        to_set_money.setText(aaa);      
                }
        }
....


Com.java 部分

...
        u_com_show.setText(String.valueOf(u_com_show_result));
        Bundle Deliver = new Bundle();
        Intent intent = new Intent();                                
        //intent.setClass(ComputerActivity.this, Add_pay.class);       <<<這裡試過不管有沒有打結果依樣會崩潰                                
        Deliver.putInt("money1", u_com_show_result);
        intent.putExtras(Deliver);
        setResult(RESULT_OK,intent);        
        finish();
...

「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
 樓主| peggy02011187 | 收聽TA | 只看該作者
發表於 2013-4-8 15:05
實在是找不出錯誤在哪
不知道有沒有大神能幫忙
或者給一份完整的範例檔
我自己在試試

拜託了~~~~~~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

板凳
whl | 收聽TA | 只看該作者
發表於 2013-4-8 18:06
本帖最後由 whl 於 2013-4-8 18:10 編輯

貼一下 Log 來看看。

試試看
intent.putExtra("money1", u_com_show_result);

String aaa = bundle.getString("money1");
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

地板
lung6660 | 收聽TA | 只看該作者
發表於 2013-4-8 23:15
不專業回答
1.  A_pay.this.startActivityForResult(intent, EDIT); 這一行是送出requestCode也就是EDIT
     所以在onActivityResult就會馬上執行
                    switch (requestCode) {
                 case EDIT:
                 Bundle bundle = data.getExtras();
                         int aaa = bundle.getInt("money1");  <----沒有值 所已崩潰了
                                  to_set_money.setText(aaa); <----還有這一行應該會出錯吧 aaa是int不是String
               }

         你可以先試試改為看看會不會崩潰
                                int aaa = bundle.getInt("money1",1);
                        to_set_money.setText(aaa.toString());
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

5
 樓主| peggy02011187 | 收聽TA | 只看該作者
發表於 2013-4-9 00:47
本帖最後由 peggy02011187 於 2013-4-9 00:51 編輯

一樣會崩潰
不過還是謝謝
不過問一下
為什麼你會要我在  
int aaa = bundle.getInt("money1",1);
的尾巴加1??
----------------
另外
No package identifier when getting value for resource number 0x000012a2   <<好像getting時會出錯?(不確定

Shutting down VM

threadid=1: thread exiting with uncaught exception (group=0x40a71930)

FATAL EXCEPTION: main

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=Intent { (has extras) }} to activity {com.example.fm2/com.example.fm2.Add_pay}: android.content.res.Resources$NotFoundException: String resource ID #0x12a2

at android.app.ActivityThread.deliverResults(ActivityThread.java:3319)

at android.app.ActivityThread.handleSendResult(ActivityThread.java:3362)

明明有設定result,但不知為啥還是-1....
RESULT_OK不是預設為正數嗎?
可是還是有傳輸
但理論是我應該有設吧(不知道哪邊出錯)
另外想問
有辦法查錯誤裡面的 JAVA:XXX  是什麼意思嗎??
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

6
lung6660 | 收聽TA | 只看該作者
發表於 2013-4-9 17:05
int aaa = bundle.getInt("money1",1);
加1是沒有值時以1取代

附件是我有試成功的程式碼

text2.rar (1.35 MB, 下載次數: 0)
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

7
clotai | 收聽TA | 只看該作者
發表於 2013-4-9 19:56

RESULT_OK 是-1, 你在onclick 那邊不要加 setClass 看看,還有你為什麼要多此一舉用bundle? 直接用intent 的putExtra 就可。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

8
 樓主| peggy02011187 | 收聽TA | 只看該作者
發表於 2013-4-10 12:18
我是先putint裡面會用到bundle
然後才puExtra
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

9
 樓主| peggy02011187 | 收聽TA | 只看該作者
發表於 2013-4-10 12:33
onclick 那邊不要加 setClass 會連com的介面都進不去 =口=
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

10
clotai | 收聽TA | 只看該作者
發表於 2013-4-10 12:49
把你的layout xml 放上來看一下,感覺是你resource有問題,或者你打開R.java 看一下0x000012a2 是什麼。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則