1

私は Android を初めて使用します。リストビューに多くの項目がありました。リスト アイテムの日付を現在の日付と比較し、日付が期限切れになっているリスト アイテムを非アクティブ化したいと考えています。私は多くのことを試しましたが、正しい答えを見つけることができませんでした。

私が試したコードは

public class TestApp extends Activity 
             {
           Activity context;
            ListView lv = null;
            protected void onCreate(Bundle savedInstanceState) 
              {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.testlist);
      lv = (ListView) findViewById(R.id.testAppList);

    Log.v("finished dateslist", "true");

    String dateFormat="dd-MMM-yyyy";
    DateFormat formatter = null;
    Calendar calendar = null;
    formatter = new SimpleDateFormat(dateFormat);
    // Date date = new Date(0);
    long date = System.currentTimeMillis();  
    final String current_date = formatter.format(date);
    //Calendar cal = Calendar.getInstance();
    //String current_date = dateFormat.format(cal.getTime());
    Log.d("Current date", current_date);




    lv.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1,
                int position, long arg3) {
            int i;


            /*arg1.setEnabled(false);

            if(!arg1.isEnabled())
            {
                lv.setSelector(android.R.color.transparent); 
                lv.setActivated(false);
            }*/

               for(i=0;i<Constants.test_endDate.size();i++)
                 {

                    if((current_date.compareTo(Constants.test_endDate.get(i)))>0)
                    {

                        Constants.selected_test_id = Integer.parseInt(Constants.test_ID.get(position));
                        Constants.selected_testName = Constants.test_name.get(position);
                        Constants.selected_test_total_questions = Constants.test_totalQuestions.get(position);
                        Constants.selected_testTimeleft = Constants.test_duration.get(position);
                        Constants.selected_testcmid = Constants.test_cmid.get(position);
                        displayInstructionsPage();
                    break;
                    }
            else
            {
                    arg1.setClickable(true);
                    arg1.setFocusable(true);
                    arg1.setEnabled(false);
                    Toast.makeText(getApplicationContext(), "Date Expired", Toast.LENGTH_SHORT).show();

                    if(!arg1.isEnabled())
                    {
                        lv.setSelector(android.R.color.transparent); 
                        lv.setActivated(false);

                    }
                    break;
                }                       
            }                           
        }           
    }); 

問題を整理するのを手伝ってください。

4

1 に答える 1

0

SQLTIMESTAMP型の Java 表現。ミリ秒単位の分解能を持つ通常の日付/時刻値に加えて、SQL TIMESTAMP ナノ秒値を表す機能を提供します。

Timestamp クラスは、秒の整数値のみが格納される通常の日付/時刻値と、小数秒が格納されるナノ秒値で構成されます。

Timestamp オブジェクトへのナノ秒値フィールドの追加により、それが拡張する java.util.Date オブジェクトとは大きく異なります。java.sql パッケージの範囲外で使用する場合、Timestamp オブジェクトは java.util.Date オブジェクトと交換できないことに注意してください。

これはあなたを助けるかもしれません

于 2013-10-24T08:22:02.837 に答える