微调不工作在android,
我已经做了一个简单的演示,在android中的spinners,在那2个活动在第一个活动有一个简单的微调和第二个textView.So当任何项目从微调选择它将被显示关于第二个活动,我曾尝试下面的代码,但它不工作:微调不工作在android,
Activity1.java
package com.example.sppiner;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
public class MainActivity extends Activity {
Spinner sp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sp=(Spinner)findViewById(R.id.spinner1);
String[] s={"ahmedabad","baroda","chitor","daman","england","france","georgia"};
sp.setAdapter(new ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item,s));
sp.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String n = (String)arg0.getItemAtPosition(arg2);
Intent i =new Intent(MainActivity.this,Act2.class);
Bundle b =new Bundle();
i.putExtra("nat", n);
startActivity(i);
}
});
}
}
act2.java
package com.example.sppiner;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
public class Act2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_act2);
TextView tv =(TextView)findViewById(R.id.tv1);
Bundle b = getIntent().getExtras();
Intent i =getIntent();
String nat = b.getString("nat");
tv.setText(nat);
}
}
请帮助我...在此先感谢
在你IST活动,这样做:
sp.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String n = (String)arg0.getItemAtPosition(arg2);
Intent i =new Intent(MainActivity.this,Act2.class);
i.putExtra("nat", n);
startActivity(i);
}
});
而且,在你的第二个活动,这样做:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_act2);
TextView tv =(TextView)findViewById(R.id.tv1);
String nat = getIntent().getStringExtra("nat");
tv.setText(nat);
}
其工作...!感谢你的兄弟.... 1have ma纽约天..! – jigar 2013-05-03 04:26:18
你可以试试这个。
您需要在先前的activity
中获得给定key
的值。即nat
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_activity2);
tv=(TextView)findViewById(R.id.textView1);
Intent i =getIntent();
Bundle b =i.getExtras();
String city =b.getStringExtras("nat");
tv.setText(city);
}
,改变这一行意向书I =新意图(MainActivity 。这,Act2.class);成Intent i = new Intent(MainActivity.this,Activity2.class); – vinoth 2013-05-03 04:04:09
我已编辑我的代码..still有问题..请重新检查它..亲爱的 – jigar 2013-05-03 04:08:41
@vinoth没有vinoth。它只是'Act2.class'。看他的班名和文件名。 – Gunaseelan 2013-05-03 04:13:37
尝试使用setOnItemSelectedListener
为spinner
cat.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {
String n = (String)arg0.getItemAtPosition(arg2);
Intent i =new Intent(MainActivity.this,Act2.class);
Bundle b =new Bundle();
i.putExtra("nat", n);
startActivity(i);
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
并在第二活动
String city =b.getString("nat");
使用这条线,而不是
String city =b.getString("city");
其工作......谢谢兄弟.. :))///////有一个fyn的一天..!:) – jigar 2013-05-03 04:26:53
@jigar欢迎您的朋友 – Gunaseelan 2013-05-03 04:28:41
我的荣幸...兄弟.. :) – jigar 2013-05-03 04:30:34
我ahve删除它......还是没有解决...... – jigar 2013-05-03 04:10:22