第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何修復(fù)在空對象引用上調(diào)用虛擬方法“android.view.View androidx

如何修復(fù)在空對象引用上調(diào)用虛擬方法“android.view.View androidx

繁星點點滴滴 2023-12-10 09:45:08
我想在選擇日期后在文本視圖中設(shè)置日期,但它在我評論的行中拋出錯誤,如何修復(fù)它?在這里創(chuàng)建視圖public class MoonFragment extends Fragment {static {    System.loadLibrary("native-lib");}@Nullable@Overridepublic View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {    View view = inflater.inflate(R.layout.activity_moon,            container, false);    final TextView moon_ra = (TextView) view.findViewById(R.id.moon_ra);    Button button = (Button) view.findViewById(R.id.moon_btn);    button.setOnClickListener(new View.OnClickListener()    {        @Override        public void onClick(View v)        {            moon_ra.setText(Double.toString(Aries(0.2)));        }    });    EditText moon_date = (EditText) view.findViewById(R.id.moon_date);    moon_date.setOnClickListener(new View.OnClickListener()    {        @Override        public void onClick(View v) {            DialogFragment newFragment = new SelectDateFragment(); // It throws error here            newFragment.show(getFragmentManager(), "DatePicker");        }    });    return view;   // return inflater.inflate(R.layout.activity_moon, container, false);}public native double Aries (double d);在這里,我參加了選擇日期的課程,它在第二行中拋出錯誤public static class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {    TextView moon_ra = (TextView)getActivity(). findViewById(R.id.moon_ra); // and here    @Override    public Dialog onCreateDialog(Bundle savedInstanceState) {        final Calendar calendar = Calendar.getInstance();        int yy = calendar.get(Calendar.YEAR);        int mm = calendar.get(Calendar.MONTH);        int dd = calendar.get(Calendar.DAY_OF_MONTH);        return new DatePickerDialog(getActivity(), this, yy, mm, dd);    }也許還有其他方法可以在文本視圖中設(shè)置日期?
查看完整描述

2 回答

?
慕森卡

TA貢獻1806條經(jīng)驗 獲得超8個贊

顯然#getActivity() 在附加片段之前為空。


您應(yīng)該嘗試將賦值代碼放在#onCreateDialog()方法中:


TextView moon_ra; 


@Override

public Dialog onCreateDialog(Bundle savedInstanceState) {

    final Calendar calendar = Calendar.getInstance();

    int yy = calendar.get(Calendar.YEAR);

    int mm = calendar.get(Calendar.MONTH);

    int dd = calendar.get(Calendar.DAY_OF_MONTH);


    moon_ra = (TextView)getActivity().findViewById(R.id.moon_ra);


    return new DatePickerDialog(getActivity(), this, yy, mm, dd);

}


查看完整回答
反對 回復(fù) 2023-12-10
?
慕絲7291255

TA貢獻1859條經(jīng)驗 獲得超6個贊

您可以使用從到onActivityResult()傳遞數(shù)據(jù),如下所示。SelectDateFragmentMoonFragment


SelectDateFragment如下所示在您的內(nèi)部調(diào)用MoonFragment。


moon_date.setOnClickListener(new View.OnClickListener(){

    @Override

    public void onClick(View v) {

        DialogFragment newFragment = new SelectDateFragment();

        newFragment.setTargetFragment(this, 111); // add this line

        newFragment.show(getFragmentManager(), "DatePicker");

    }

});

發(fā)送數(shù)據(jù)從SelectDateFragment到MoonFragment新日期設(shè)置時


 public void populateSetDate(int year, int month, int day) {

     String newDate = month+"/"+day+"/"+year;


     Intent intent = new Intent();

     intent.putStringExtra("date", newDate);

     getTargetFragment().onActivityResult(getTargetRequestCode(), 111, intent);

}

要接收數(shù)據(jù),請使用onActivityResult您的MoonFragment


public void onActivityResult(int requestCode, int resultCode, Intent data) {

    if (requestCode == 111) {

        String newDate = data.getStringExtra("date");

        // here you can update your textview

         moon_ra.setText(newDate); // make sure your moon_ra textview is decleared globally

    }

}


查看完整回答
反對 回復(fù) 2023-12-10
  • 2 回答
  • 0 關(guān)注
  • 172 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號