gpt4 book ai didi

java - 变量的值不显示在其他类中

转载 作者:行者123 更新时间:2023-12-01 07:40:29 25 4
gpt4 key购买 nike

我在 Eclipse 中编写了一个 Android 程序,但遇到了问题。我在这个类上向艺术家展示。在 onClick 方法中,我想发送单击的列表项的“值”。

...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);
}
});
}}

在 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);
}}

hello world之所以存在只是因为看到textview没有任何问题。也许问题是它不刷新(它从程序启动时就保持不变 - 因为当我在 StringActivity 类中为艺术家字符串给出一个值时,它就会显示,但是当我单击一个项目时,它会保持相同)还是还有其他问题?谢谢!

最佳答案

您正在创建 StringActivity 的新实例,然后使用 getArtist() 获取值。它返回空字符串,因为该实例是本地实例并且尚未设置为其他任何内容。

不幸的是我没有做过任何Android开发所以我不知道你应该如何传递数据。也许可以通过作为参数传递的 Bundle 来完成,或者也许还有其他方法。我想如果你搜索 Android 文档和示例应该很容易找到。

关于java - 变量的值不显示在其他类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5636887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com