Android I';我试图在点击选项卡活动中的编辑文本时实现弹出日历

Android I';我试图在点击选项卡活动中的编辑文本时实现弹出日历,android,tabs,calendar,android-edittext,popup,Android,Tabs,Calendar,Android Edittext,Popup,我试图实现一个弹出日历时,点击编辑文本,在一个标签活动。我的标签活动如下。我需要在返回V之前发布代码。这里是选项卡活动 package com.artificers.subin.inspection; import android.os.Bundle; import android.support.v4.app.Fragment; import android.text.Editable; import android.text.TextWatcher; import android.vi

我试图实现一个弹出日历时,点击编辑文本,在一个标签活动。我的标签活动如下。我需要在返回V之前发布代码。这里是选项卡活动

  package com.artificers.subin.inspection;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * Created by Subin on 13-10-2015.
 */
public class Tab2Fragment extends Fragment {


    EditText fromdate;
    EditText todate;

    // List view
    private ListView lv;

    // Listview Adapter
    ArrayAdapter<String> adapter;

    // Search EditText
    EditText inputSearch;


    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View V = inflater.inflate(R.layout.tab2_view, container, false);


        EditText fromdate=(EditText)V.findViewById(R.id.fromdate);
        EditText todate=(EditText)V.findViewById(R.id.todate);

        fromdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });

        // Listview Data
        String products[] = {"Dell Inspiron", "HTC One X", "HTC Wildfire S", "HTC Sense", "HTC Sensation XE",
                "iPhone 4S", "Samsung Galaxy Note 800",
                "Samsung Galaxy S3", "MacBook Air", "Mac Mini", "MacBook Pro"};

        lv = (ListView) V.findViewById(R.id.list_view);


        // Adding items to listview
        adapter = new ArrayAdapter<String>(getActivity(), R.layout.list_item, R.id.product_name, products);
        lv.setAdapter(adapter);


        return V;
    }


}
package com.artificers.subin.inspection;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
导入android.text.Editable;
导入android.text.TextWatcher;
导入android.view.LayoutInflater;
导入android.view.view;
导入android.view.ViewGroup;
导入android.widget.ArrayAdapter;
导入android.widget.EditText;
导入android.widget.ListView;
导入java.util.ArrayList;
导入java.util.HashMap;
/**
*由Subin于2015年10月13日创建。
*/
公共类Tab2Fragment扩展了片段{
编辑文本fromdate;
编辑文本todate;
//列表视图
私有ListView lv;
//列表视图适配器
阵列适配器;
//搜索编辑文本
编辑文本输入搜索;
//Listview的ArrayList
ArrayList产品列表;
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图V=充气机。充气(R.layout.tab2_视图,容器,假);
EditText fromdate=(EditText)V.findViewById(R.id.fromdate);
EditText todate=(EditText)V.findViewById(R.id.todate);
fromdate.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
//列表视图数据
字符串产品[]={“戴尔Inspiron”、“HTC One X”、“HTC Wildfire S”、“HTC Sense”、“HTC Sensation XE”,
“iPhone 4S”、“三星Galaxy Note 800”,
“三星Galaxy S3”、“MacBook Air”、“MacMini”、“MacBook Pro”};
lv=(列表视图)V.findViewById(R.id.list\u视图);
//向listview添加项目
适配器=新的ArrayAdapter(getActivity(),R.layout.list_项,R.id.product_名称,产品);
低压设置适配器(适配器);
返回V;
}
}

我试图实现一个弹出日历时,点击编辑文本,在一个标签活动。我的标签活动如下。我需要在返回V之前发布代码。这里是选项卡活动

希望这对您有所帮助

  package com.artificers.subin.inspection;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.HashMap;

/**
 * Created by Subin on 13-10-2015.
 */
public class Tab2Fragment extends Fragment {


    EditText fromdate;
    EditText todate;

    // List view
    private ListView lv;

    // Listview Adapter
    ArrayAdapter<String> adapter;

    // Search EditText
    EditText inputSearch;


    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View V = inflater.inflate(R.layout.tab2_view, container, false);


        EditText fromdate=(EditText)V.findViewById(R.id.fromdate);
        EditText todate=(EditText)V.findViewById(R.id.todate);

        fromdate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {


            }
        });

        // Listview Data
        String products[] = {"Dell Inspiron", "HTC One X", "HTC Wildfire S", "HTC Sense", "HTC Sensation XE",
                "iPhone 4S", "Samsung Galaxy Note 800",
                "Samsung Galaxy S3", "MacBook Air", "Mac Mini", "MacBook Pro"};

        lv = (ListView) V.findViewById(R.id.list_view);


        // Adding items to listview
        adapter = new ArrayAdapter<String>(getActivity(), R.layout.list_item, R.id.product_name, products);
        lv.setAdapter(adapter);


        return V;
    }


}
将其放置在点击事件中


DialogFragment newFragment=newDatePickerFragment()

show(getSupportFragmentManager(),“datePicker”)

还可以在项目中添加以下片段

类DatePickerFragment扩展了DialogFragment

implements DatePickerDialog.OnDateSetListener {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

// Use the current date as the default date in the picker

final Calendar c = Calendar.getInstance();

int year = c.get(Calendar.YEAR);

int month = c.get(Calendar.MONTH);

int day = c.get(Calendar.DAY_OF_MONTH);

return new DatePickerDialog(getActivity(), this, year, month, day);

}
公共void onDateSet(日期选择器视图、整数年、整数月、整数天){

使用以下命令:

         final DatePickerDialog.OnDateSetListener datePickerListener = new DatePickerDialog.OnDateSetListener() {
            // when dialog box is closed, below method will be called.
         public void onDateSet(DatePicker view, int selectedYear,
                                  int selectedMonth, int selectedDay) {
                if (isOkayClicked) {
                    year = selectedYear;
                    month = selectedMonth;
                    day = selectedDay;
                }
                isOkayClicked = false;
            }
        };

        final DatePickerDialog datePickerDialog = new DatePickerDialog(
                HomePageActivity.this, R.style.DialogTheme, datePickerListener,
                year, month, day); //use your activity name here instead of HomePageActivity

        datePickerDialog.getDatePicker().setMaxDate(new Date().getTime()); // setting the max date

        datePickerDialog.setButton(DialogInterface.BUTTON_NEGATIVE,
                "Cancel",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                                        int which) {
                        if (which == DialogInterface.BUTTON_NEGATIVE) {
                            dialog.cancel();
                            isOkayClicked = false;
                        }
                    }
                });

        datePickerDialog.setButton(DialogInterface.BUTTON_POSITIVE,
                "Change", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog,
                                        int which) {
                        if (which == DialogInterface.BUTTON_POSITIVE) {

                            isOkayClicked = true;
                            DatePicker datePicker = datePickerDialog
                                    .getDatePicker();
                            datePickerListener.onDateSet(datePicker,
                                    datePicker.getYear(),
                                    datePicker.getMonth(),
                                    datePicker.getDayOfMonth());
                        }
                    }
                });
        datePickerDialog.setCancelable(false);
        datePickerDialog.show();
如果需要,删除final关键字

将其添加到values/styles.xml

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="colorAccent">#e9671c</item> // you can change the color here 
</style>

#e9671c//您可以在此处更改颜色

我对android不熟悉如何做?DialogFragment newFragment=new DatePickerFragment();newFragment.show(getSupportFragmentManager(),“datePicker”);在这几行DatePickerFragment()和getSupportFragmentManager()中,显示errorclass活动范围FragmentActivity{class DatePickerFragment Extendes DialogFragment implements DatePickerDialog.OnDateSetListener{}}检查您这样写什么是IsokeClicked意思?IsokeClicked(布尔)是一个标志变量,用于检查用户是否更改日期..您是否在类中将其声明为类似于“boolean IsokeClicked”的变量?只需添加“咔嗒一声,”我们走吧。