簡體   English   中英

android中微調器的彈出菜單

[英]popup menu for spinner in android

我想要帶有'A','B','C'項目的微調器

如果您選擇“ A”或“ B”,則表示天文鍾必須運行。

選擇項目“ C”時,彈出窗口將打開兩個帶有edittext和“確定”按鈕的窗口。

如果您在edittext中輸入'D',則表示在旋轉器中也添加了D,但必須運行測斜儀

這是我的代碼:

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) {}
    });  




}

對我有什么幫助

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();

我沒有測試它(直接從我的腦海中寫出來),但是它應該可以進行一些修改。

祝好運
湯姆

嘗試使用此代碼。.公共類Starttracker擴展了Activity {

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

    };

Spinner s1;

@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);

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

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

計時碼表chrono =(Chronometer)findViewById(R.id.chronometer); chrono.start(); }} // .....

            GoodLuck

答案是我的問題:

{
        int size=tempArray.length;

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

            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;
            }

非常感謝大家

我項目的無恥插件。

查看Android Popup Spinner View

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM