簡體   English   中英

如何在應用程序的所有活動中顯示單個微調框?

[英]How to show single spinner in all activities in application?

我正在創建微調器對話框以關閉電源並重新啟動,該操作在按鍵按下時顯示。 問題是我不想在每個活動上創建微調器。 那么,如何在應用程序中的所有活動上調用單個微調框?

           public class MainActivity extends Activity {
Spinner spinner;

 String[] strings = {"Power Options","Power off","Restart"};

  String[] subs = {"","Shut phone down","Close all apps and restart phone" };

    int arr_images[] = {R.drawable.ic_launcher, R.drawable.images1,
          R.drawable.images2};


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

    spinner = (Spinner)findViewById(R.id.spinner1); 
      spinner.setAdapter(new MyAdapter(this, R.layout.row, strings));




        spinner.setOnItemSelectedListener(new  AdapterView.OnItemSelectedListener() 
        { 

            public void onItemSelected(AdapterView<?> adapterView, 
           View view, int i, long l) { 
           // TODO Auto-generated method stub

                if (i == 1)
                {

                 Toast.makeText(MainActivity.this,"PowerOff 
                       Perform",Toast.LENGTH_SHORT).show();



                }


                if (i == 2)
                {



      Toast.makeText(MainActivity.this,"Reboot Perform",Toast.LENGTH_SHORT).show();

                }




             }
              // If no option selected
  public void onNothingSelected(AdapterView<?> arg0) {
   // TODO Auto-generated method stub

  } 

      });




     }



public class MyAdapter extends ArrayAdapter<String>{

      public MyAdapter(Context context, int textViewResourceId,   String[] objects) 
     {
          super(context, textViewResourceId, objects);
      }

      @Override
      public View getDropDownView(int position, View convertView,ViewGroup parent) {







          return getCustomView(position, convertView, parent);
      }

      @Override
      public View getView(int position, View convertView, ViewGroup parent) {




          return getCustomView(position, convertView, parent);
      }


      public View getCustomView(int position, View convertView, ViewGroup parent) {



          LayoutInflater inflater=getLayoutInflater();
          View row=inflater.inflate(R.layout.row, parent, false);
          TextView label=(TextView)row.findViewById(R.id.company);
          label.setText(strings[position]);

          TextView sub=(TextView)row.findViewById(R.id.sub);
          sub.setText(subs[position]);

          ImageView icon=(ImageView)row.findViewById(R.id.image);
          icon.setImageResource(arr_images[position]); 

          return row;
          }








@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  if(KeyEvent.KEYCODE_PAGE_UP == event.getKeyCode() && isRooted()){

      spinner.performClick();





           return true;

  }
 return super.onKeyDown(keyCode, event);
}

創建一個名為BaseActivity的類,並將其擴展到Activity。 然后,您可以從BaseActivity類創建活動,並向其中添加一個對話框。

編輯:

public class BaseActivity extends Activity {

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return super.onKeyDown(keyCode, event);
    }
}

並且您的MainActivity將擴展BaseActivity。

暫無
暫無

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

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