2014-02-05 24 views
0

我想將ImageView的Tag設置爲1,2,3 .......並且想要檢索該標籤onClick並將其傳遞給Intent,並在nextActivity中使用Intents檢索它並傳遞給函數但未能做到所以....無法獲得ImageView的「Integer Tag」並傳入Android中的Intent?

XML:

<ImageView 
      android:id="@+id/latest_btn_quran_on" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="2dp" 
      android:src="@drawable/latest_quran_on" 
      android:tag="1"/> 

ImageView的ClickListener:

quranHadeesButton = (ImageView)findViewById(R.id.latest_btn_quran_on); 
    quranHadeesButton.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
       // TODO Auto-generated method stub 
      Intent latestQuranQuesAns = new Intent(GenraltopicActivity.this,GeneralTopicQuestions.class); 
      //latestQuranQuesAns.putExtra("clickedTopicid",quranHadeesButton.getTag().toString()); 
      int id = (Integer) quranHadeesButton.getTag(); 
      latestQuranQuesAns.putExtra("clickedTopicid",id); 
      startActivity(latestQuranQuesAns); 
      } 
     }); 

GeneralTopicQuestions活動:

public class GeneralTopicQuestions extends Activity 
{ImageView quranOHadeesQuestion1; 
Context context; 
List<String> questionImagesNameList = new ArrayList<String>(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.general_topic_questions); 
     context = this; 
     //Intent intent = getIntent(); 
     String clickedTopicId = Integer.toString(getIntent().getExtras().getInt("clickedTopicid"));//string data will contain image file name 
     Log.i("clickedTopicid",""+clickedTopicId); 
     JamiaBinoriaDBHelper dbhelper = new JamiaBinoriaDBHelper(context); 
     dbhelper.open(); 
     //Integer sampleId = clickedTopicId 
     questionImagesNameList = dbhelper.GetClickedIdImages(getIntent().getExtras().getInt("clickedTopicid")); 
     Log.i("questionImagesNameList:",""+questionImagesNameList); 
} 
} 

問題是與此LOC:

questionImagesNameList = dbhelper.GetClickedIdImages(getIntent().getExtras().getInt("clickedTopicid")); 

EDIT logcat的:

02-06 00:03:15.780:E/AndroidRuntime(7564):致命異常:主 02- E/AndroidRuntime(7564):java.lang.ClassCastException:java.lang.String不能轉換爲java.lang.Integer 02-06 00:03:15.780:E/AndroidRuntime(7564) :at com.jamia.binoria.GenraltopicActivity $ 1.onClick(GenraltopicActivity.java:28) 02-06 00:03:15.780:E/AndroidRuntime(7564):at android.v iew.View.performClick(View.java:4211) 02-06 00:03:15.780:E/AndroidRuntime(7564):at android.view.View $ PerformClick.run(View.java:17267) 02-06 00:03:15.780:E/AndroidRuntime(7564):at android.os.Handler.handleCallback(Handler.java:615) 02-06 00:03:15.780:E/AndroidRuntime(7564):at android.os。 Handler.dispatchMessage(Handler.java:92) 02-06 00:03:15.780:E/AndroidRuntime(7564):at android.os.Looper.loop(Looper.java:137) 02-06 00:03: 15.780:E/AndroidRuntime(7564):at android.app.ActivityThread.main(ActivityThread.java:4898) 02-06 00:03:15.780:E/AndroidRuntime(7564):at java.lang.reflect.Method。 invokeNative(Native Method) 02-06 00:03:15.780:E/AndroidRuntime(7564):at java.lang.reflect.Method.invoke(Method.java:511) 02-06 00:03:15 .780:E/AndroidRuntime(7564):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1006) 02-06 00:03:15.780:E/AndroidRuntime(7564):at com .android.internal.os.ZygoteInit.main(ZygoteInit.java:773) 02-06 00:03:15.780:E/AndroidRuntime(7564):在dalvik.system.NativeStart.main(本機方法)

+0

Whew是您的onClick listner?並粘貼你的日誌貓。 – 2014-02-05 07:29:28

回答

0

嗨,希望它能幫助你。

代替

字符串clickedTopicId = Integer.toString(getIntent()getExtras()getInt( 「clickedTopicid」)。)的; //字符串數據將包含圖像文件名

使用這些線

字符串clickedTopicId = 「」 + getIntent()getIntExtra。( 「clickedTopicid」,DEFAULT_IMG_INT_ID);

+0

但我通過詮釋功能如何將字符串轉換爲int – user3233280

+0

仍然不是我已經應用您的代碼 – user3233280

+0

已添加logacat請參閱 – user3233280