简体   繁体   English

android中微调器的弹出菜单

[英]popup menu for spinner in android

i want a spinner with items'A','B','C' 我想要带有'A','B','C'项目的微调器

if u select 'A' or'B' means the chronometer has to run. 如果您选择“ A”或“ B”,则表示天文钟必须运行。

while select the item 'C' the popup window has 2 open with edittext and 'Ok' button.. 选择项目“ C”时,弹出窗口将打开两个带有edittext和“确定”按钮的窗口。

if you type the'D' in the edittext means that has too add in the spinner while add the chonometer has to run 如果您在edittext中输入'D',则表示在旋转器中也添加了D,但必须运行测斜仪

here is my code: 这是我的代码:

public class Starttracker extends Activity {

PopupWindow popupWindow;


    String[] Items = {
                "A",
                "B",
                "C",
                "D",

        };

    Spinner s1;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.start);


  s1 = (Spinner) findViewById(R.id.spinner);

    final ArrayAdapter<String> adapter  = new ArrayAdapter<String>(
            this,android.R.layout.simple_spinner_item,Items);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s1.setAdapter(adapter);
    s1.setOnItemSelectedListener(new OnItemSelectedListener()
    {
        public void onItemSelected(AdapterView<?> arg0, 
        View arg1, int arg2, long arg3) 
        {
            int index = s1.getSelectedItemPosition();
            Toast.makeText(getBaseContext(), 
                "You have selected item : " + Items[index], 
                Toast.LENGTH_SHORT).show(); 

            if (index==3)
            {
      LayoutInflater inflater = (LayoutInflater) Starttracker.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      popupWindow = new PopupWindow(inflater.inflate(R.layout.popup,null, false),300,100,true);
     // RelativeLayout01 is Main Activity Root Layout
      popupWindow.showAtLocation(findViewById(R.id.relativelayout), Gravity.CENTER, 0,0);

         } else
            {
                Chronometer chrono=(Chronometer)findViewById(R.id.chronometer);
                chrono.start();
            }
        }

        public void onNothingSelected(AdapterView<?> arg0) {}
    });  




}

can any help to me 对我有什么帮助

final String[] items = {"A", "B", "C"};

final AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Choose me!");
builder.setItems(items, new DialogInterface.OnClickListener() {

    public void onClick(DialogInterface dialog, int item) {
        if ("A".equals(items[item]) || "B".equals(items[item])) {
            // run whatever...
        }

        if ("C".equals(items[item])) {
            final EditText edit = new EditText(context);

            final Builder builder = new AlertDialog.Builder(context);
            builder.setTitle("Choose a custom option.");
            builder.setView(edit);
            builder.setPositiveButton("Save", new OnClickListener() {

                public void onClick(final DialogInterface dialog, final int which) {
                    String input = edit.getText().toString();
                    // add input to array, or do whatever.

                    dialog.dismiss();
                }
            });
            builder.create().show();
        }

        dialog.dismiss();
    }
});
builder.create().show();

I didn't test it (written straight from my mind), but it should work with a few modifications. 我没有测试它(直接从我的脑海中写出来),但是它应该可以进行一些修改。

Good luck 祝好运
Tom 汤姆

TRy this code.. public class Starttracker extends Activity { 尝试使用此代码。.公共类Starttracker扩展了Activity {

String[] Items = {
            "A",
            "B",
            "C",
            "D",

    };

Spinner s1;

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @Override public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState); setContentView(R.layout.start); 的setContentView(R.layout.start);

s1 = (Spinner) findViewById(R.id.spinner); s1 =(Spinner)findViewById(R.id.spinner);

final ArrayAdapter<String> adapter  = new ArrayAdapter<String>(
        this,android.R.layout.simple_spinner_item,Items);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
s1.setAdapter(adapter);

} public boolean onItemSelected(AdapterView parent,View v, int position, long id) { } public boolean onItemSelected(AdapterView parent,View v,int position,long id){

 if (((items[position])=="A")||((items[position])=="B")) {

Chronometer chrono=(Chronometer)findViewById(R.id.chronometer); 计时码表chrono =(Chronometer)findViewById(R.id.chronometer); chrono.start(); chrono.start(); } } //..... }} // .....

            GoodLuck

the answer is following to my question: 答案是我的问题:

{
        int size=tempArray.length;

        for(int i=0;i<size;i++){
            Items.add(tempArray[i]);
}

and

            if(index==3)
            {
                final Dialog dialog=new Dialog(Starttracker.this);
                dialog.setContentView(R.layout.popup);
                dialog.setTitle("Enter The Item");
                dialog.setCanceledOnTouchOutside(true);

                final EditText filename=(EditText)dialog.findViewById(R.id.filename);
                filename.setText("");

                Button d_ok=(Button)dialog.findViewById(R.id.d_ok);
                Button d_cancel=(Button)dialog.findViewById(R.id.d_cancel);


                d_ok.setOnClickListener(new OnClickListener(){

                    public void onClick(View arg0) {
                        // TODO Auto-generated method stub

                        String textHolder = filename.getText().toString();

                        dialog.dismiss();

                        Items.add(textHolder);

                        //  s1.setAdapter(adapter);

                        // notifyDataSetChanged();

                    }
                });
                d_cancel.setOnTouchListener(new OnTouchListener(){
                    public boolean onTouch(View v,MotionEvent me){
                        dialog.dismiss();
                        return false;
                    }
                });
                dialog.show();

                return;
            }

thank a lot to all 非常感谢大家

Shameless plug for my project. 我项目的无耻插件。

Check out Android Popup Spinner View 查看Android Popup Spinner View

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM