Android에서 Eclipse로 프로그램을 만들고 문제가 있습니다. 나는이 수업을 통해 내가 예술가들을 보여 준다. onClick 메서드 내에서 클릭 한 listitem의 "value"를 보내려고합니다.변수의 값이 다른 클래스에 표시되지 않습니다.
...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 내부에는 선택한 항목이 표시되지만 다른 클래스에는 표시되지 않습니다. 내가 값을 저장하는 경우 여기에 코드입니다 : 여기
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
기꺼이 도와 드리겠습니다;) –