Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用android无法在文本视图中获取正确的日期_Java_Android_Main - Fatal编程技术网

Java 使用android无法在文本视图中获取正确的日期

Java 使用android无法在文本视图中获取正确的日期,java,android,main,Java,Android,Main,我有两个按钮,第一个是下一个,另一个是上一个。我想在文本视图中显示一个日期作为月份的日期。文本视图中应该看到的日期是该周的第一天 按下“下一步”按钮时,必须显示下一周开始的第一天;按下“上一步”按钮时,必须显示上一周开始的第一天 代码如下 我对安卓系统比较熟悉 package com.example.child; import java.text.SimpleDateFormat; import java.util.Calendar; import android.support.v7.ap

我有两个按钮,第一个是下一个,另一个是上一个。我想在文本视图中显示一个日期作为月份的日期。文本视图中应该看到的日期是该周的第一天

按下“下一步”按钮时,必须显示下一周开始的第一天;按下“上一步”按钮时,必须显示上一周开始的第一天

代码如下

我对安卓系统比较熟悉

package com.example.child;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends ActionBarActivity {

    Button bn;
    Button bp;
     Calendar c=Calendar.getInstance();
       int w = c.get(Calendar.WEEK_OF_YEAR);



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button bn=(Button)findViewById(R.id.button1);
        Button bp=(Button)findViewById(R.id.button2);
        final EditText ed=(EditText)findViewById(R.id.editText1);



         c.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);
         SimpleDateFormat mDF = new SimpleDateFormat("dd MMMM");
            String printDate = mDF.format(c.getTime());
            c.add(Calendar.DAY_OF_MONTH, 6);
            String printDate2 = mDF.format(c.getTime());

            System.out.println(printDate + " >> " + printDate2);
           ed .setText(printDate + " >> " + printDate2);


        bn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                w++;

                String ss=g(w);
                ed.setText(ss);

            }

            private String g(int weekfromtoday) {
                // TODO Auto-generated method stub

                System.out.println(""+weekfromtoday);

                Calendar m=Calendar.getInstance();
                m.set(Calendar.DAY_OF_WEEK,m.SUNDAY);
                m.set(m.DAY_OF_YEAR,m.get(Calendar.WEEK_OF_YEAR)+weekfromtoday);
                m.add(Calendar.DAY_OF_MONTH,+6);
            SimpleDateFormat s=new SimpleDateFormat("dd MMMM");
            String p=s.format(m.getTime());
        System.out.println(p);
         m.add(Calendar.DAY_OF_MONTH, 6);
            String printDate2 = s.format(m.getTime());
            ed.setText(""+printDate2);
            return p + " >> " + printDate2; 



            }
        });
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

步骤1:拥有全局日历对象:

private Calendar calendar;
步骤2:获取下周开始的函数:

public void getNextWeek() {
        calendar.add(Calendar.WEEK_OF_YEAR, 1);
        String dateString = getFormattedDate(calendar);

    }
步骤3:获取前一周开始的函数:

public void getPreviousWeek() {
            calendar.add(Calendar.WEEK_OF_YEAR, -1);
            String dateString = getFormattedDate(calendar);

        }
用于将日历对象转换为字符串的函数:

 public String getFormattedDate(Calendar cal){
          SimpleDateFormat format1 = new SimpleDateFormat("dd-mm-yyyy");
          String formatted = format1.format(cal.getTime());
          return formatted;
    }

步骤1:拥有全局日历对象:

private Calendar calendar;
步骤2:获取下周开始的函数:

public void getNextWeek() {
        calendar.add(Calendar.WEEK_OF_YEAR, 1);
        String dateString = getFormattedDate(calendar);

    }
步骤3:获取前一周开始的函数:

public void getPreviousWeek() {
            calendar.add(Calendar.WEEK_OF_YEAR, -1);
            String dateString = getFormattedDate(calendar);

        }
用于将日历对象转换为字符串的函数:

 public String getFormattedDate(Calendar cal){
          SimpleDateFormat format1 = new SimpleDateFormat("dd-mm-yyyy");
          String formatted = format1.format(cal.getTime());
          return formatted;
    }

如果你需要帮助,那么问一些问题。你有什么问题?@Szamot我的问题是我想在编辑文本中显示日期dd-mm-yyyy。日期应为该周的第一天。按下“下一步”按钮时,必须显示下周第一个日期;按下“上一步”按钮时,必须显示上周。这是我的问题,这不是问题,看起来你想有人为你写代码。你必须告诉他们你的问题是什么,在什么地方你的代码不起作用。然后我们可以帮助你。如果你需要帮助,那么问一些问题。你有什么问题?@Szamot我的问题是我想在编辑文本中显示日期dd-mm-yyyy。日期应为该周的第一天。按下“下一步”按钮时,必须显示下周第一个日期;按下“上一步”按钮时,必须显示上周。这是我的问题,这不是问题,看起来你想有人为你写代码。你必须告诉他们你的问题是什么,在什么地方你的代码不起作用。然后我们可以帮助您。您的答案是有效的,但当查看月份时,它显示为当前最小值(12-54-2015)。期待你得到我的内容。它没有显示月份。您的答案是有效的,但当查看月份时,它显示为当前最小值,例如(12-54-2015)。期待你得到我的内容。这个月没有上映。