Android 使用按钮在微调器上执行不同任务单击一个按钮
我想构建一个简单的android应用程序,使用微调器和按钮。微调器包含两项。 ITEM1->Google 项目2->Yahoo 我想: 如果我从spinner中选择Item1(Google)并单击按钮,它将重定向到android中WebView中的Google.com,然后 如果我从微调器中选择Item2(Yahoo)并单击相同的按钮,它将重定向到Yahoo.com 以下是我的xml代码: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"?> <
<?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中选择一个项目,然后单击按钮将我带到一个新活动,在那里我有一个网络视图。我想在应用程序的网络视图中而不是在移动浏览器中打开网页。谢谢。