2016-09-16 15 views
0

私はDatePickerの3つを設定しようとしており、選択した日付をTextViewに表示したいとします。3つのDatePickerを使用してTextViewに表示したい

package com.example.sachin.datepicker; 

import android.support.v4.app.FragmentManager; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class Main2Activity extends AppCompatActivity { 
    Button next; 
    FragmentManager mFragmentManager; 
    FragmentTransaction mFragmentTransaction; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main2); 
     next= (Button)findViewById(R.id.next); 
     next.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       mFragmentManager = getSupportFragmentManager(); 
       mFragmentTransaction = mFragmentManager.beginTransaction(); 
       mFragmentTransaction.replace(R.id.containerView,new MainActivity()).commit(); 
      } 
     }); 
    } 
} 

ここ

ATAL EXCEPTION: main 
                     Process: com.example.sachin.datepicker, PID: 5708 
                     java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setInputType(int)' on a null object reference 
                      at com.example.sachin.datepicker.MainActivity.onCreateView(MainActivity.java:40) 
                      at android.support.v4.app.Fragment.performCreateView(Fragment.java:2074) 
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1104) 
                      at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1286) 
                      at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:758) 
ここ

私はそれの完全なコードを掲載。..ちょうどそれに見て、

MainActivity2.java - :私はたくさんが、のようなエラーを生成してみました、MainActivity.java

最後にマニフェストファイル

 <?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.sachin.datepicker"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <Activity android:name=".MainActivity" /> 

     <activity android:name=".Main2Activity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

私はたくさん試してみましたが、常にすべての.setInputTypeでエラー...

答えて

0
.setInputType(InputType.TYPE_CLASS_DATETIME); 

変更を取得し、また、コードの下にしてみてください。

@TargetApi(Build.VERSION_CODES.N) 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

      final View view = inflater.inflate(R.layout.activity_add_wod, container, false); 
      dateFormatter = new SimpleDateFormat("dd-MM-yyyy", Locale.ENGLISH); 

      openingdate = (EditText) view.findViewById(R.id.openingdate); 
      openingdate.setInputType(InputType.TYPE_NULL); 
      openingdate.requestFocus(); 

      Birthdate = (EditText) view.findViewById(R.id.Birthdate); 
      Birthdate.setInputType(InputType.TYPE_NULL); 
      Birthdate.requestFocus(); 
      Anniversary = (EditText) view.findViewById(R.id.Anniversary); 
      Anniversary.setInputType(InputType.TYPE_NULL); 

      setDateTimeField(); 
      return view; 
    } 

    private void setDateTimeField() { 
      openingdate.setOnClickListener(this); 
      Birthdate.setOnClickListener(this); 
      Anniversary.setOnClickListener(this); 
      Calendar newCalendar = Calendar.getInstance(); 


      fromDatePickerDialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { 

        @TargetApi(Build.VERSION_CODES.N) 
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
          Calendar newDate = Calendar.getInstance(); 
          newDate.set(year, monthOfYear, dayOfMonth); 
          openingdate.setText(dateFormatter.format(newDate.getTime())); 
        } 

      },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 



      toDatePickerDialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { 

        @TargetApi(Build.VERSION_CODES.N) 
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
          Calendar newDate = Calendar.getInstance(); 
          newDate.set(year, monthOfYear, dayOfMonth); 
          Birthdate.setText(dateFormatter.format(newDate.getTime())); 
        } 

      },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 


      toDatePickerDialog1 = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() { 

        @TargetApi(Build.VERSION_CODES.N) 
        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
          Calendar newDate = Calendar.getInstance(); 
          newDate.set(year, monthOfYear, dayOfMonth); 
          Anniversary.setText(dateFormatter.format(newDate.getTime())); 
        } 

      },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH)); 
    } 


    @Override 
    public void onClick(View view) { 
      if(view == openingdate) { 
        fromDatePickerDialog.show(); 
      } else if(view == Birthdate) { 
        toDatePickerDialog.show(); 
      } else if(view == Anniversary) { 
        toDatePickerDialog1.show(); 
      } 
    } 
+0

同じエラーが発生しました。 –

+0

「setInputType」を避けるようにしてください。私は答えを与えます。私は今働いています。 – W4R10CK

+0

okeyいいえ心配..ありがとう私はあなたの答えを待っている.. :) –

関連する問題