我的問題似乎是太複雜了我:/呼叫ACTION_VIEW意圖
我有這樣的主要活動:
setContentView(R.layout.main_activity);
(...)
LinearLayout mainLinearLayout;
mainLinearLayout = (LinearLayout)findViewById(R.id.mainLinearLayout);
final JSONObject user = json_user.getJSONObject(0);
ContactListData contactList = new ContactListData();
contactList.AffLayoutData(this, user, mainLinearLayout);
我想膨脹要素在main_activity佈局,通過ContactListData類。 我想使用特定的類來做到這一點,因爲我必須在我的應用程序的另一部分中重複使用此接觸通脹。
這裏我ContactListData.java:
public class ContactListData extends Activity {
public void AffLayoutData(Context context, JSONObject contact, LinearLayout mainLinearLayout) {
try {
LinearLayout ll;
// > Here, a lot of layouts are inflated in main_activity :
ll = (LinearLayout) View.inflate(context, R.layout.contact_detail_separateur_titre, null);
((TextView) ll.findViewById(R.id.titre)).setText("Téléphone");
// (...) blablabla
// And there are buttons with OnClickListener :
((FrameLayout) ll.findViewById(R.id.primary_action_view_container)).setOnClickListener(mSMSActionClickListener);
((FrameLayout) ll.findViewById(R.id.primary_action_view_container)).setTag(contact.getString("Phone"));
// (...) blablabla
// Finally, last layout is inflated :
mainLinearLayout.addView(ll);
} catch (JSONException e) {
e.printStackTrace();
Log.e("GEDE JSONException", null);
}
}
/** My onClickListener of previous buttons */
protected final OnClickListener mSMSActionClickListener = new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.fromParts("sms", v.getTag().toString(), null));
startActivity(intent);
}
};
。 所有充氣都正確。但是,當我點擊一個按鈕,我有這樣的錯誤:
04-28 23:37:51.934:W/dalvikvm(30918):線程ID = 1:螺紋帶 未捕獲的異常(組= 0x41bd3700)離開04-28 23:37:51.934: E/AndroidRuntime(30918):致命異常:main 04-28 23:37:51.934: E/AndroidRuntime(30918):java.lang.NullPointerException 04-28 23:37 :51.934:E/AndroidRuntime(30918):at android.content.ContextWrapper.getApplicationContext(ContextWrapper.java:109) 04-28 23:37:51.934:E/AndroidRuntime(30918):at biz.jchambon.gedm .ContactListData $ 5.onClick(ContactListData.java:302)
我試圖在父活動中啓動Intent.ACTION_VIEW,但沒有成功(靜態/非靜態問題...)。誰能幫助我?
謝謝您的回答;我有同樣的想法(我忘了複製/粘貼setTag線)。當我在startActivity(intent)之前執行Log.d(「Test getTag」,v.getTag()。toString())時,我可以看到它在控制檯中工作:/ – Jerry
我明白了,上下文未定義。 – Jerry