我在Eclipse中将程序制作为Android,并且出现问题。我有这个课,让我看看艺术家。在onClick方法中,我想发送被点击的listitem的“值”。变量的值不显示在其他类中
...public class ArtistActivity extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
String[] artists = getResources().getStringArray(R.array.artists_array);
setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, artists));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new android.widget.AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
StringActivity sA = new StringActivity();
sA.setArtist(((TextView) v).getText().toString());
String asd = sA.getArtist();
//Toast.makeText(getApplicationContext(), asd/*((TextView) v).getText()*/, Toast.LENGTH_SHORT).show();
Intent i = new Intent().setClass(getApplicationContext(), AlbumActivity.class);
startActivity(i);
}
});
}}
Inside onClick当我用Toast做的时候,它显示选择的项目,但在其他类别不。下面是代码,我存储值:
public class StringActivity {
private String artist="";
public String getArtist() {
return(artist);
}
public void setArtist(String artist) {
this.artist=artist;
}
public String toString() {
return(getArtist());
}}
这里是其他类,它应该显示值:
public class AlbumActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StringActivity sA = new StringActivity();
String asd = sA.getArtist();
TextView textview = new TextView(this);
textview.setText("Hello " + asd + " World!");
setContentView(textview);
}}
问候世界上还有仅仅因为一看就知道有什么与textview错误。也许问题在于它不会刷新(它从程序启动时保持不变 - 因为当我为StringActivity类中的艺术家字符串赋值时,它会显示,但是当我点击一个项目时它将保留相同)还是存在另一个问题? 谢谢!
以下检查我的回答很棒!非常感谢您的帮助!并为你的mgronber! – matthew3r 2011-04-12 14:49:10
很高兴能帮到;) – 2011-04-12 14:51:17