我更多的是iOS開發人員,所以傳遞java變量似乎是一個挑戰。我擡頭望着價值和參考,沒有人爲我工作。我似乎無法理解爲什麼。由於我的申請有點複雜,所以我把它分解爲一個更簡單,更實際的問題。我的應用程序有一個Android微調,有三個類別。我想要發生的事情是簡單地根據用戶選擇的內容更改textview上的文本。在我的零散視圖中,我通過調用xml文件中的按鈕和textview從基礎開始。Getter和setter變量不起作用
public class AskQuestions extends Fragment {
private Button selectAnswer;
private TextView displayAnswer;
private Spinner spinner;
public String result;
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public void onCreate(Bundle savedInstabceState){
super.onCreate(savedInstabceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//Fetching layout
View rootView = inflater.inflate(R.layout.fragment_questions, container, false);
selectAnswer = (Button) rootView.findViewById(R.id.button1);
displayAnswer = (TextView) rootView.findViewById(R.id.textView1);
spinner = (Spinner) rootView.findViewById(R.id.planets_spinner);
//Setting spinner to custom class I created
spinner.setOnItemSelectedListener(new CustomOnItemSelectedListener());
//Button clicks when the user selects an item of the spinner, and changes the text
//based on what item is selected.
selectAnswer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
//This is where I am confused.
result = getResult();
displayAnswer.setText(result);
}
});
return rootView;
}
}
好的。這主要是我的麻煩所在。如何根據用戶從該課程中選擇的內容更改textview?
public class CustomOnItemSelectedListener implements OnItemSelectedListener {
//Calling object in to display in the view
AskQuestions question = new AskQuestions();
//When a user selects an item off of the spinner, the position changes
//accordingly (spinner works just fine, changing the text on the textview from this class
//seems to be most of my trouble.
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id) {
switch (pos) {
case 0:
//This does not work when a user selects an item, and clicks a button to review the result
question.setResult("You selected index zero");
break;
case 1:
//Does not work
question.setResult("You selected index one");
break;
case 2:
//Does not work
question.setResult("You selected index 2");
break;
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}