我想出了我做了什么。我使用URL STRING的其余部分在引号中有变量名称。
如何将单选按钮的值保存到变量中,稍后再使用该变量。
我可以在我的LogCat中看到变量Day_Item
并且值在那里但是当稍后尝试使用Day_Item时它不会显示有价值的内容。
以下是我的代码部分,其中显示了按钮。
String Day_Item = null;
public class SearchDB extends Activity {
private static final String TAG = "MyApp";
String start_log = "STARTED";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_layout);
final RadioButton radio_monday = (RadioButton) findViewById(R.id.monday);
radio_monday.setOnClickListener(radio_listener);
cityspinner.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,long arg3)
{
int id = parent.getId();
if (spinner2_count2 < spinner2_count1 ) {
spinner2_count2++; }
else
{
String city_spinner_log = "CITY SPINNER";
Log.d(TAG, city_spinner_log);
String item = cityspinner.getSelectedItem().toString();
String nameContentType = "name";
String cityURL = "GetRestaurant.php?day=Day_Item&city=" + item;
Log.d(TAG, cityURL);
String shop_data = DataCall.getJSON(cityURL,nameContentType);
Log.d(TAG, shop_data);
Bundle bundle = new Bundle();
bundle.putString("shopData", shop_data);
Intent myIntent = new Intent(SearchDB.this, ShowRestaurant.class);
myIntent.putExtras(bundle);
startActivityForResult(myIntent, 0);
}
}
}
//ONCLICKLISTENER that saves RADIO value into a variable.
public OnClickListener radio_listener = new OnClickListener() {
public void onClick(View v) {
// Perform action on clicks
RadioButton rb = (RadioButton) v;
Day_Item = (String) rb.getText();
Log.d(TAG,Day_Item);
Toast.makeText(SearchDB.this, Day_Item, Toast.LENGTH_SHORT).show();
}
};
}
答案 0 :(得分:1)
您需要更多代码才能获得良好的答案。比如Day_Item是如何分配的?它的范围是全球性的吗?您是从其他活动或其分配的活动中调用它吗?这些只是猜测:
1)你确定你的onClickListener没有多次触发吗?因此将Day_Item设置为不需要的文本或根本没有设置?
2)而不是问题/答案,
“但是当稍后尝试使用Day_Item时,它不显示有价值的”
我假设这意味着它是空的?好吧,如果它被正确设置,然后它被空了......它要么被某个地方显式为空(例如(1)),要么分配和范围是我认为的问题区域。 。