我有一個問題,從片段鏈接到一個類的兩個按鈕。我有一個工作,但任何嘗試獲得第二個鏈接到一個不同的類是失敗的。這是我爲這個Button創建的代碼。提前致謝!鏈接兩個按鈕在一個片段
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.account, container, false);
Button button = (Button)view.findViewById(R.id.btGlobex);
button.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.btGlobex:
Intent intent = new Intent(getActivity(), GlobexActivity.class);
startActivity(intent);//Edited here
break;
}
}
});
return view;
}
更新: 我已經得到了一些偉大的反應,但我的應用程序崩潰,當我點擊帳戶片段,我想不通,爲什麼。更新後的代碼如下:
公共類AccountFragment擴展片段實現View.OnClickListener {
public AccountFragment() {
}
public static AccountFragment newInstance() {
AccountFragment fragment = new AccountFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.account, container, false);
Button btGlobex = (Button)getView().findViewById(R.id.btGlobex);
btGlobex.setOnClickListener(onClickListener);
Button btUmbrella = (Button)getView().findViewById(R.id.btUmbrella);
btUmbrella.setOnClickListener(onClickListener);
return view;
}
private View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View v){
switch(v.getId()){
case R.id.btGlobex:
Intent intent1 = new Intent(getActivity(), GlobexActivity.class);
startActivity(intent1);//Edited here
break;
case R.id.btUmbrella:
Intent intent2 = new Intent(getActivity(), UmbrellaActivity.class);
startActivity(intent2);//Edited here
break;
}
}
};
@Override
public void onClick(View view) {
}
}
我收到以下錯誤日誌
03-08 20: 10:40.974 5458-5458/com.qreceipts.qreceipts E/AndroidRuntime:致命例外:main 進程:com.qreceipts.qreceipts,PID:5458 java.lang.NullPointerException at com.qreceipts.qreceipts.AccountFragment.onCreateView(AccountFragment.java:29) at android.support.v4.app.Fragment.performCreateView(Fragment.java:2189) at android.support.v4.app.FragmentManagerImpl。 moveToState在(FragmentManager.java:1299) 在android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528) 在android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595) android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757) at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355) at android.supp ort.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146) 在android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098) 在android.support.v4.app.FragmentManagerImpl.execPendingActions(在android.os.Handler上的android.os.Handler.handleCallback(Handler.java:733) 。 .dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5021) at java.lang.reflect.Method .invokeNative(NAT香港專業教育學院法) 在java.lang.reflect.Method.invoke(Method.java:515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:827) 在com.android.internal .os.ZygoteInit.main(ZygoteInit.java:643) at dalvik.system.NativeStart.main(Native Method)
再次感謝您的幫助!
因此,這是該作品的按鈕,或者不起作用按鈕的代碼? – dahui
這是可用的按鈕的代碼。我有第二個按鈕稱爲btUmbrella,我似乎無法工作我試過這個代碼的一些變化,但無濟於事。 – NiamLeeson
後不工作的代碼,沒有人將能夠解決他們的代碼無法看到 – dahui