Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用按钮在微调器上执行不同任务单击一个按钮_Android_Buttonclick - Fatal编程技术网

Android 使用按钮在微调器上执行不同任务单击一个按钮

Android 使用按钮在微调器上执行不同任务单击一个按钮,android,buttonclick,Android,Buttonclick,我想构建一个简单的android应用程序,使用微调器和按钮。微调器包含两项。 ITEM1->Google 项目2->Yahoo 我想: 如果我从spinner中选择Item1(Google)并单击按钮,它将重定向到android中WebView中的Google.com,然后 如果我从微调器中选择Item2(Yahoo)并单击相同的按钮,它将重定向到Yahoo.com 以下是我的xml代码: <?xml version="1.0" encoding="utf-8"?> <

我想构建一个简单的android应用程序,使用微调器和按钮。微调器包含两项。 ITEM1->Google 项目2->Yahoo 我想: 如果我从spinner中选择Item1(Google)并单击按钮,它将重定向到android中WebView中的Google.com,然后 如果我从微调器中选择Item2(Yahoo)并单击相同的按钮,它将重定向到Yahoo.com

以下是我的xml代码:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="158dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="72dp"
        android:onClick="onClick"
        android:text="@string/buttn" />

</RelativeLayout>

要微调器的值项:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string-array name="section">
        <item>Google</item>
        <item>Yahoo</item>

    </string-array>
</resources>

谷歌
雅虎
Java代码:

public class FirstPage extends ActionBarActivity implements OnItemSelectedListener
{


        Spinner sp;
        Button buttn;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.firstpage);
            buttn= (Button) findViewById(R.id.button1);
            sp = (Spinner) findViewById(R.id.spinner1);
            ArrayAdapter<CharSequence> ar = ArrayAdapter.createFromResource(this, R.array.section, android.R.layout.simple_list_item_1);
            ar.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
            sp.setAdapter(ar);

            addListenerOnButton();
        }


        private void addListenerOnButton() 
        {
            buttn.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    try{
                    sp = (Spinner) findViewById(R.id.spinner1);
                    buttn= (Button) findViewById(R.id.button1);
                    }
                }
            });

        }

            public void onItemSelected(AdapterView<?> parent, View view, 
                    int pos, long id) {

            }

            public void onNothingSelected(AdapterView<?> 
            }
        }
public class FirstPage扩展了ActionBarActivity实现了OnItemSelectedListener
{
纺纱机;
按钮按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.firstpage);
buttn=(按钮)findViewById(R.id.button1);
sp=(喷丝器)findViewById(R.id.spinner1);
ArrayAdapter ar=ArrayAdapter.createFromResource(这个,R.array.section,android.R.layout.simple\u list\u item\u 1);
ar.setDropDownViewResource(android.R.layout.simple\u dropdown\u item\u 1line);
sp.setAdapter(ar);
addListenerOnButton();
}
私有void addListenerOnButton()
{
buttn.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
试一试{
sp=(喷丝器)findViewById(R.id.spinner1);
buttn=(按钮)findViewById(R.id.button1);
}
}
});
}
已选择公共视图(AdapterView父视图、视图、,
内部位置,长id){
}
无选择的公共无效(AdapterView
}
}
我不知道怎么做。 任何人都请帮帮我。
谢谢。

如果您询问如何开始浏览,并且您的听众已经开始工作,那么我会尝试以下方法:

   Intent browse = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
    startActivity(browse);
你也可以

此外,微调器与onClickListener的配合不太好,如上所示,我建议使用另一种方法,如OnItemSelectedListener()。

这样做

private void addListenerOnButton() 
{
    buttn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            String val = sp.getSelectedItem().toString();
            String url = "";
            if(val.equalsIgnoreCase("google")){
                url = "http://www.google.com";
            else if (val.equalsIgnoreCase("yahoo"))
                url = "http://www.yahoo.com"; 

            if(url.length() > 0){
                Intent browse = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                YourActivity.this.startActivity(browse);
            } 
        }
    });
}
编辑

要在acitivity webview中打开url,请执行以下操作

Intent intent = new Intent(YourCurrentActivity.this, MyWebViewActivity.class); // Change the activity name as yours
intent.putExtra("url", url);
YourCurrentActivity.this.startActivity(intent); // Change the activity name as yours
在webview所在的下一个活动中执行此操作

String url = getIntent().getStringExtra("url");
WebView webView = (WebView) findViewById(R.id.web_view); // Change to your id
webView.loadUrl(url);

谢谢你的回答。这对我很有帮助。嘿,你能帮我做一件事吗?我想从微调器中选择一个项目,然后单击按钮将我带到一个新的活动,在那里我有一个网络视图。我想在应用程序网络视图中打开网页,而不是在移动浏览器中打开。谢谢。我需要使用网络视图进行两个不同的活动吗?一个用于谷歌,另一个用于谷歌一个用于yahoo,或者它将在同一活动中运行??如果在同一活动中,那么它将如何从微调器中选择要浏览的项目?它的活动相同,不需要两个不同的活动。请参见我编辑的部分,我将向web view活动传递一个url,该活动将访问该url并打开它。您只需将编辑的代码块的第一部分放入
If(url.length()>0)
语句(删除旧的)。感谢回复@Raphaël,我的问题是spinner,而不是浏览。谢谢。嘿,你能帮我做一件事吗?我想从spinner中选择一个项目,然后单击按钮将我带到一个新活动,在那里我有一个网络视图。我想在应用程序的网络视图中而不是在移动浏览器中打开网页。谢谢。