2016-04-26 12 views
-1

THIS MY CODEwie in Bearbeiten von Textansicht

package com.clip.android; 
/** 
* 
* @author abhishek 
* 
*/ 

import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.List; 

import android.app.DatePickerDialog; 
import android.app.Dialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.ImageButton; 
import android.widget.Spinner; 
import android.widget.Toast; 


public class ClaimRegister extends ClaimActivity implements OnClickListener{ 

    EditText polid; 
    /*DatePicker claimDate;*/ 
    String userValue; 
    String getClaimDate; 
    Spinner Spinner; 
    String clmType; 
    ImageButton calIcon; 
    EditText claimDate; 
    /*TextView b1;*/ 
    double a = 4.32; 
    double b = Math.pow(10.0,8.0); 
    int year,day,month; 
    List<String> claimTypes=new ArrayList<String>(); 
/* List<Customer> customers = new ArrayList<Customer>();*/ 


    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_claim_register); 
     setHeader("Register Your Claim", true, true); 
     claimDate = (EditText)findViewById(R.id.editText1); 
     polid = (EditText)findViewById(R.id.polid); 
     /*claimDate = (DatePicker)findViewById(R.id.dp);*/ 
     Spinner=(Spinner) findViewById(R.id.spin); 
     userValue = polid.getText().toString(); 
     calIcon = (ImageButton)findViewById(R.id.imageButton1); 
     calIcon.setOnClickListener(new Button.OnClickListener(){ 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       final Calendar c = Calendar.getInstance(); 

       year = c.get(Calendar.YEAR); 
       month = c.get(Calendar.MONTH); 
       day = c.get(Calendar.DAY_OF_MONTH); 
       /*claimDate.setMinDate((long)(c.getTimeInMillis()-(a*b))); 
       claimDate.init(year, month, day, null);*/ 

       claimDate.setText(String.valueOf(c.getTimeInMillis()-(a*b))); 


       DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() { 
        public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) 
         { 
          Calendar cl = Calendar.getInstance(); 
           cl.set(year, monthOfYear, dayOfMonth-1); 
           if(cl.before(Calendar.getInstance())){ 
            claimDate.setText(dayOfMonth+"-"+(monthOfYear)+"-"+year); 
           }else { 
            claimDate.setText(""); 
            Toast.makeText(ClaimRegister.this, "Date Shold Be Within Current Date.", Toast.LENGTH_SHORT).show(); 
            return; 
           } 
           year = year; 
           month = monthOfYear; 
           day = dayOfMonth; 

         } 
       }, year, month, day; 
     ((Dialog) datePickerListener).show(); 

       } 
      }); 
    AsyncCall drop = new AsyncCall(); 
    drop.execute(); 
    } 

    private class AsyncCall extends AsyncTask<String, Void, Void>{ 

     @Override 
     protected Void doInBackground(String... params) { 
      Log.d("doBack", "0000"); 
      claimTypes = com.clip.webservice.GetAQuote.GetLineofBusiness("CLMTYPE", "getClmType"); 


      return null; 
     } 

     protected void onPostExecute(Void result) 
     { 
      Log.d("onPost", "lol"); 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(ClaimRegister.this, android.R.layout.simple_spinner_dropdown_item,claimTypes); 
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
        Log.d("onPost", "123"); 
        Spinner.setAdapter(adapter); 
        Log.d("onPost", "hiiii"); 
        Spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

         public void onItemSelected(AdapterView<?> parent, 
           View view, int position, long id) { 
           String item = parent.getItemAtPosition(position).toString(); 
           Toast.makeText(getApplicationContext(), "type = "+ item, Toast.LENGTH_LONG).show(); 
           clmType= Spinner.getSelectedItem().toString(); 
         } 

         public void onNothingSelected(AdapterView<?> parent) { 
          // TODO Auto-generated method stub 
          String item=parent.getSelectedItem().toString(); 
          Toast.makeText(getApplicationContext(), "type = "+ item, Toast.LENGTH_LONG).show(); 
          clmType= Spinner.getSelectedItem().toString(); 
         } 

        }); 

        } 
        } 


    public void submit(View view) 
    { 
     userValue = polid.getText().toString(); 

     if(userValue.trim().equals("")&& userValue != null){ 
      Toast.makeText(this, "Policy Id is required", Toast.LENGTH_LONG).show(); 
     } 
     else{ 
     Intent intent = new Intent(this,ClaimRegisterPage.class); 
     intent.putExtra("getclmType", clmType); 
     intent.putExtra("userValue", userValue); 
     Log.d("In submit", "userValue = "+userValue); 
     startActivity(intent); 
     } 
    } 
} 

ERROR aktuelles Datum zeigen: -

04-26 11:45:04.450: E/AndroidRuntime(2813): FATAL EXCEPTION: main 
04-26 11:45:04.450: E/AndroidRuntime(2813): Process: com.clip.android, PID: 2813 
04-26 11:45:04.450: E/AndroidRuntime(2813): java.lang.ClassCastException: com.clip.android.ClaimRegister$1$1 cannot be cast to android.app.Dialog 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at com.clip.android.ClaimRegister$1.onClick(ClaimRegister.java:96) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.view.View.performClick(View.java:5198) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.view.View$PerformClick.run(View.java:21147) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.os.Handler.handleCallback(Handler.java:739) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.os.Handler.dispatchMessage(Handler.java:95) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.os.Looper.loop(Looper.java:148) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at android.app.ActivityThread.main(ActivityThread.java:5417) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at java.lang.reflect.Method.invoke(Native Method) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
04-26 11:45:04.450: E/AndroidRuntime(2813):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Welche Set aktuelles Datum als Standarddatum und ich mag Benutzer hinter 15 Tagen ab, damit Strom Datum nicht unter diesem Datum. Bitte helfen Sie, dies zu lösen.

+0

'((Dialog) datePickerListener) .show();' - 'datePickerListener' ist kein' Dialog'. –

+0

tks, Mike Wie kann ich dieses Problem lösen, gibt es noch andere gehen – Abhishek

+1

Ask Shree ein Beispiel in ihre Antwort aufzunehmen. –

Antwort

2

DatePickerDialog ist ein Dialog Aber DatePickerDialog.OnDateSetListener ist kein Dailog, der gegossen werden kann. Zeigen Sie also DatePickerDialog anstatt datePickerListener anzuzeigen. Es ist die Linie der Fehler

((Dialog) datePickerListener).show(); 

die example Sehen Sie, wie DatePickerDialog erstellt und verwendet wird.

+0

das ist ich habe es aber gibt es eine Möglichkeit, dieses Problem zu lösen – Abhishek

+0

Das Beispiel, das ich zeigte, ist so einfach, dass Sie leicht verstehen können, aber Ihr Code scheint zu komplex. Sie können den Dialog leicht mit 'showDialog (id)' anzeigen. –

+0

Aber ich möchte dem Benutzer erlauben, bis zu den letzten 15 Tagen ab dem aktuellen Datum nicht mehr als das zu setzen. Wie kann das ??? Shree – Abhishek

0
//Current date 
String currentDateTimeString = DateFormat.getDateTimeInstance().format(new Date()); 

// editText is the EditText that should display it 
editText.setText(currentDateTimeString); 

für 15 Tage zu begrenzen, Sie, wenn sonst Zustand, bevor Sie das Datum verwenden können text.So zu bearbeiten, wenn Benutzer Datum Wählt vor 15 Tagen das Bearbeiten von Text leer bleibt

0

Es gibt einige Fehler, die ich habe im Code bemerkt, 1) Ersetzen

calIcon.setOnClickListener(new Button.OnClickListener() 

mit

calIcon.setOnClickListener(new View.OnClickListener() 

2) Unterhalb Art Gießen verursacht den Absturz

((Dialog) datePickerListener).show(); 

Sie sollten eine Instanz von Dialog, bauen sie mit erfordern Attribute und legen Sie den Hörer erstellen. Rufen Sie dann die show() -Methode darauf auf. Siehe, Datepicker: How to popup datepicker when click on button and store value in variable

+0

ja, ((Dialog) datePickerListener) .show(); Das stürzt für mich – Abhishek

0

Resolved-Code

package com.clip.android; 
/** 
* 
* @author abhishek 
* 
*/ 

import java.util.ArrayList; 
import java.util.Calendar; 
import java.util.List; 

import android.app.DatePickerDialog; 
import android.app.Dialog; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.os.Bundle; 

import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.ArrayAdapter; 
import android.widget.DatePicker; 
import android.widget.EditText; 
import android.widget.ImageButton; 
import android.widget.Spinner; 
import android.widget.Toast; 


public class ClaimRegister extends ClaimActivity implements OnClickListener{ 

    EditText polid; 
    String userValue; 
    String getClaimDate; 
    Spinner Spinner; 
    String clmType; 
    ImageButton calIcon; 
    EditText claimDate; 
    double a = 1.296; 
    double b = Math.pow(10.0,9.0); 

    static final int DATE_PICKER_ID = 0; 
    int year,day,month; 
    List<String> claimTypes=new ArrayList<String>(); 



    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_claim_register); 
     setHeader("Register Your Claim", true, true); 
     claimDate = (EditText)findViewById(R.id.editText1); 
     polid = (EditText)findViewById(R.id.polid); 
     Spinner=(Spinner) findViewById(R.id.spin); 
     userValue = polid.getText().toString(); 
     calIcon = (ImageButton)findViewById(R.id.imageButton1); 
     claimDate.setEnabled(false); 

     final Calendar c = Calendar.getInstance(); 
     year = c.get(Calendar.YEAR); 
     month = c.get(Calendar.MONTH); 
     day = c.get(Calendar.DAY_OF_MONTH); 


     claimDate.setText(new StringBuilder() 
     // Month is 0 based, just add 1 
     .append(day).append("-").append(month + 1).append("-") 
     .append(year).append(" ")); 
     calIcon.setOnClickListener(new OnClickListener() { 

      @SuppressWarnings("deprecation") 
      public void onClick(View v) { 

       // On button click show datepicker dialog 


       showDialog(DATE_PICKER_ID); 
      } 

     }); 


    AsyncCall drop = new AsyncCall(); 
    drop.execute(); 
    } 

    private class AsyncCall extends AsyncTask<String, Void, Void>{ 

     @Override 
     protected Void doInBackground(String... params) { 
      Log.d("doBack", "0000"); 
      claimTypes = com.clip.webservice.GetAQuote.GetLineofBusiness("CLMTYPE", "getClmType"); 


      return null; 
     } 

     protected void onPostExecute(Void result) 
     { 
      Log.d("onPost", "lol"); 
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(ClaimRegister.this, android.R.layout.simple_spinner_dropdown_item,claimTypes); 
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
        Log.d("onPost", "123"); 
        Spinner.setAdapter(adapter); 
        Log.d("onPost", "hiiii"); 
        Spinner.setOnItemSelectedListener(new OnItemSelectedListener() { 

         public void onItemSelected(AdapterView<?> parent, 
           View view, int position, long id) { 
           String item = parent.getItemAtPosition(position).toString(); 
           Toast.makeText(getApplicationContext(), "type = "+ item, Toast.LENGTH_LONG).show(); 
           clmType= Spinner.getSelectedItem().toString(); 
         } 

         public void onNothingSelected(AdapterView<?> parent) { 
          // TODO Auto-generated method stub 
          String item=parent.getSelectedItem().toString(); 
          Toast.makeText(getApplicationContext(), "type = "+ item, Toast.LENGTH_LONG).show(); 
          clmType= Spinner.getSelectedItem().toString(); 
         } 

        }); 

        } 
        } 

    protected Dialog onCreateDialog(int id) { 
     switch (id) { 
     case DATE_PICKER_ID: 

      // open datepicker dialog. 
      // set date picker for current date 
      // add pickerListener listner to date picker 
      //disabled the dates lesser than 15 days from current date onload of date picker dialog 
      DatePickerDialog dp = new DatePickerDialog(this, pickerListener, year, month,day); 
       Calendar c = Calendar.getInstance(); 
       dp.getDatePicker().setMinDate(((long)(c.getTimeInMillis()-(a*b)))); 
       return dp; 
     } 
     return null; 
    } 

    private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() { 

     // when dialog box is closed, below method will be called. 
     public void onDateSet(DatePicker view, int selectedYear, 
       int selectedMonth, int selectedDay) { 
       year = selectedYear; 
       month = selectedMonth; 
       day = selectedDay; 

      // Show selected date 

      claimDate.setText(new StringBuilder().append(day) 
        .append("-").append(month + 1).append("-").append(year) 
        .append(" ")); 

      } 
     }; 


    public void submit(View view) 
    { 
     userValue = polid.getText().toString(); 
      //Validation for Policy Id since it's mandatory 
     if(userValue.trim().equals("")&& userValue != null){ 
      Toast.makeText(this, "Policy Id is required", Toast.LENGTH_LONG).show(); 
     } 
     else{ 
     Intent intent = new Intent(this,ClaimRegisterPage.class); 
     intent.putExtra("getclmType", clmType); 
     intent.putExtra("userValue", userValue); 
     Log.d("In submit", "userValue = "+userValue); 
     startActivity(intent); 
     } 
    } 
} 
Verwandte Themen