Android 台灣中文網

標題: 請問在此代碼如果要加入Button該如何加 [打印本頁]

作者: jr1230    時間: 2014-6-25 00:33
標題: 請問在此代碼如果要加入Button該如何加
請問各位高手在以下的代碼中
如果要增加多個按鈕的功能
如何將之前做的和以下這段整合

public class RadialMenuAboutFragment extends Fragment {
       
        @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                        Bundle savedInstanceState) {
                View view  = inflater.inflate(R.layout.layout_about, container, false);               
                return view;
        }
    }


之前做的
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.hc_main);

        Button Webmail = (Button) findViewById(R.id.Webmail);
        Button Web = (Button) findViewById(R.id.Web);

        Webmail.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View view) {
                Uri uri=Uri.parse("https://www.xxxxx.com:85");
                Intent i=new Intent(Intent.ACTION_VIEW,uri);
                startActivity(i);
            }
        });
        Web.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View view) {
                Uri uri=Uri.parse("http://www.xxxxx.com");
                Intent i=new Intent(Intent.ACTION_VIEW,uri);
                startActivity(i);
            }
        });
作者: CarolHsieh    時間: 2014-6-25 13:21
不是很明白你的意思??
是說要把 Activity 改用 Fragment
然後 Button.OnClickListener() 不知道要放哪嗎??
作者: emulators    時間: 2014-6-25 15:09
大概可以加在View view  = inflater.inflate(R.layout.layout_about, container, false);      
和return view;之間
onClick()裡面的東西再自己填

  1. public class RadialMenuAboutFragment extends Fragment {
  2.         
  3.         @Override
  4.         public View onCreateView(LayoutInflater inflater, ViewGroup container,
  5.                         Bundle savedInstanceState) {
  6.                 View view  = inflater.inflate(R.layout.layout_about, container, false);               

  7.                 Button Webmail = (Button) findViewById(R.id.Webmail);
  8.                 Button Web = (Button) findViewById(R.id.Web);

  9.                 Webmail.setOnClickListener(new Button.OnClickListener() {
  10.                     public void onClick(View view) {
  11.                         ...
  12.                     }
  13.                 });
  14.                 Web.setOnClickListener(new Button.OnClickListener() {
  15.                     public void onClick(View view) {
  16.                         ...
  17.                     }
  18.                 });

  19.                 return view;
  20.         }
  21.     }
複製代碼

作者: jr1230    時間: 2014-6-25 21:07
public class RadialMenuAboutFragment extends Fragment {
   
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                    Bundle savedInstanceState) {
            View view  = inflater.inflate(R.layout.layout_about, container, false);               

            Button Webmail = (Button) findViewById(R.id.Webmail);
            Button Web = (Button) findViewById(R.id.Web);

            Webmail.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View view) {
                    Uri uri=Uri.parse("https://www.hciclerp.com:85");
                    Intent i=new Intent(Intent.ACTION_VIEW,uri);
                    startActivity(i);
                }
            });
            Web.setOnClickListener(new Button.OnClickListener() {
                public void onClick(View view) {
                    Uri uri=Uri.parse("https://www.hciclerp.com:85");
                    Intent i=new Intent(Intent.ACTION_VIEW,uri);
                    startActivity(i);
                }
            });

            return view;
    }
}


謝謝大大的協助
上方的代碼還有一個小地方他提示

未對類型 RadialMenuAboutFragment 定義方法 findViewById(int)

還請高手協助
感激不盡
作者: jr1230    時間: 2014-6-25 21:23
有試著定義但是擺那邊都錯誤請高手協助謝謝
作者: CarolHsieh    時間: 2014-6-26 09:43
view.findViewById
Fragment要用這個
前提是
view要有定義好
作者: emulators    時間: 2014-6-26 14:05
不好意思,忘記是fragment
在findViewById前面加上剛inflate的view,應該就可以了

  1. public class RadialMenuAboutFragment extends Fragment {
  2.         
  3.         @Override
  4.         public View onCreateView(LayoutInflater inflater, ViewGroup container,
  5.                         Bundle savedInstanceState) {
  6.                 View view  = inflater.inflate(R.layout.layout_about, container, false);               

  7.                 Button Webmail = (Button) view.findViewById(R.id.Webmail);
  8.                 Button Web = (Button) view.findViewById(R.id.Web);

  9.                 Webmail.setOnClickListener(new Button.OnClickListener() {
  10.                     public void onClick(View view) {
  11.                         ...
  12.                     }
  13.                 });
  14.                 Web.setOnClickListener(new Button.OnClickListener() {
  15.                     public void onClick(View view) {
  16.                         ...
  17.                     }
  18.                 });

  19.                 return view;
  20.         }
  21.     }
複製代碼

作者: jr1230    時間: 2014-6-27 12:34
謝謝樓上大大的指導可以執行了




歡迎光臨 Android 台灣中文網 (https://apk.tw/) Powered by Discuz! X3.1