Java 使用数据库中的数据初始化微调器
我正在做一个项目,在这个项目中,我使用php mysql将android应用程序与数据库连接起来。我的要求是,布局中有一个微调器,我希望在运行时初始化它的值(值来自db) 我一直在尝试这个代码Java 使用数据库中的数据初始化微调器,java,android,Java,Android,我正在做一个项目,在这个项目中,我使用php mysql将android应用程序与数据库连接起来。我的要求是,布局中有一个微调器,我希望在运行时初始化它的值(值来自db) 我一直在尝试这个代码 package com.example.festipedia_logo; //import com.actionbarsherlock.app.SherlockFragment; import java.util.ArrayList; import java.util.HashMap; import
package com.example.festipedia_logo;
//import com.actionbarsherlock.app.SherlockFragment;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.example.festipedia_logo.details1.LoadAllProducts;
import android.app.Activity;
import android.app.Fragment;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
public class mainpagetry extends Activity {
Button button1;
Button button4;
ArrayAdapter<String> adapter;
String[] city;
String loc;
Spinner spinner;
//String loc;
private static String url_all_products =new Global().getcon()+"loc.php";
Button a;
// JSON Node names
private static final String TAG_SUCCESS = "success";
private static final String TAG_PRODUCTS = "products";
private static final String TAG_NAME = "eventname";
private static final String TAG_LOCATION = "location";
private ProgressDialog pDialog;
//String category,location;
// Creating JSON Parser object
JSONParser jParser = new JSONParser();
EditText b;int flag=0;
ArrayList<HashMap<String, String>> productsList;
// products JSONArray
JSONArray products = null;
//ListView l;
//Spinner spinner;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
getActionBar().setDisplayShowTitleEnabled(false);
getActionBar().setDisplayUseLogoEnabled(false);
getActionBar().setDisplayShowCustomEnabled(true);
getActionBar().setDisplayShowHomeEnabled(false);
//getSupportActionBar().setIcon(R.drawable.fest);
//getSupportActionBar().setLogo(R.drawable.fest);
Drawable d=getResources().getDrawable(R.drawable.actionbar);
getActionBar().setBackgroundDrawable(d);
setContentView(R.layout.mainmenu);
productsList = new ArrayList<HashMap<String, String>>();
new LoadAllProducts().execute();
spinner = (Spinner)this.findViewById(R.id.spinner1);
/*city = new String[] { "Mumbai", "Chennai",
"Dubai"};
/*adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item,city
);
*/
// spinner.setAdapter(adapter);
// View rootView = inflater.inflate(R.layout.mainmenu, container, false);
//Intent in = getIntent();
//loc = in.getStringExtra("loc");
Button button1 = (Button) findViewById(R.id.button1);
Button button4 = (Button) findViewById(R.id.button4);
Button button2 = (Button) findViewById(R.id.button2);
Button button5 = (Button) findViewById(R.id.button5);
Button button3 = (Button) findViewById(R.id.button3);
//TextView t1= (TextView) findViewById(R.id.getlocation);
//t1.setText(loc);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
/*final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame,new home1() , "Fest Content");
ft.commit();*/
String s=spinner.getSelectedItem().toString();
Intent i = new Intent(getApplicationContext(),
MainActivity.class);
i.putExtra("loc", 0);
i.putExtra("category", "Technical");
i.putExtra("location", s);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//new CreateNewProduct().execute();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
/*final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame,new home1() , "Fest Content");
ft.commit();*/
String s=spinner.getSelectedItem().toString();
Intent i = new Intent(getApplicationContext(),
MainActivity.class);
i.putExtra("loc", 0);
i.putExtra("category", "Cultural");
i.putExtra("location", s);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//new CreateNewProduct().execute();
}
});
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
/*final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame,new home1() , "Fest Content");
ft.commit();*/
String s=spinner.getSelectedItem().toString();
Intent i = new Intent(getApplicationContext(),
MainActivity.class);
i.putExtra("loc", 0);
i.putExtra("category", "Sports");
i.putExtra("location", s);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//new CreateNewProduct().execute();
}
});
button4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
/* final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame,new testing() , "Fest Content");
ft.commit();*/
Intent i = new Intent(getApplicationContext(),
MainActivity.class);
i.putExtra("loc", 1);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//new CreateNewProduct().execute();
}
});
button5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// creating new product in background thread
/* final FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame,new testing() , "Fest Content");
ft.commit();*/
Intent i = new Intent(getApplicationContext(),
MainActivity.class);
i.putExtra("loc", 2);
// Closing all previous activities
//i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
//new CreateNewProduct().execute();
}
});
}
public void onBackPressed() {
finish();
}
class LoadAllProducts extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(mainpagetry.this);
pDialog.setMessage("Loading festivals. Please wait...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
/**
* getting All products from url
* */
protected String doInBackground(String... args) {
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
//Log.d("test",category);
//Log.d("test1",location);
// getting JSON string from URL
JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);
// Log.d("All Products: ", json.toString());
try {
// Checking for SUCCESS TAG
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// products found
// Getting Array of Products
products = json.getJSONArray(TAG_PRODUCTS);
// looping through All Products
for (int i = 0; i < products.length(); i++) {
JSONObject c = products.getJSONObject(i);
// Storing each json item in variable
String name = c.getString(TAG_NAME);
String location = c.getString(TAG_LOCATION);
//l.setFilterText(id);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_NAME, name);
map.put(TAG_LOCATION, location);
// adding HashList to ArrayList
productsList.add(map);
}
} else {
//t1.setText("We currently do not have any events for this category at the chosen location");
//flag=1;
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// dismiss the dialog after getting all products
pDialog.dismiss();
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
* */
adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_dropdown_item,TAG_LOCATION
);
spinner.setAdapter(adapter);
}
});
}
}
}
此处声明:类型微调器中的方法setAdapter(SpinnerAdapter)不适用于参数(ListAdapter)
请帮忙
编辑:
错误截图
数组适配器错误-
构造函数ArrayAdapter(mainpagetry,int,String)未定义
您应该这样构造适配器:
adapter = new ArrayAdapter<String>
(mainpagetry.this,
android.R.layout.simple_spinner_dropdown_item);
adapter = new ArrayAdapter<String>
(mainpagetry.this,
android.R.layout.simple_spinner_dropdown_item
Arrays.asList("item1", "item2", "item3"));
没有任何
ArrayAdapter
构造函数将Runnable
或泛型T
(在您的示例中是字符串
)作为参数。看
您可能希望使用字符串
数组或列表来代替字符串
此外,正如@kiruwka所述,第一个参数必须是上下文
,因此,您必须使用mainpagetry。this
或其他一些上下文
。使用mainpagetry。this
而仅this
作为ArrayAdapter的第一个参数constructor@Jedil尝试了,但仍然出现相同的错误。是否要使用ArrayAdapter或SimpleAdapter或what@Jedil一切都好。。。这两种方法都试过了,但出现了错误up@ganapathy请尝试我发布的代码,并发布您在这方面的错误。这是问题的原因,无论如何100%。他可能有其他问题,但这应该如上所述。让我们澄清一下他还有什么。@kiruwka我得到了以下错误:构造函数ArrayAdapter(mainpagetry,int,String)未定义
@ganathy请复制粘贴代码原样:你在mainpagetry
之后缺少了this
,请参见上面的:mainpagetry。这
参见我在问题帖中的第一条评论,看起来不熟悉吗?@Jedil你想说什么?看来你有完全相同的想法,那为什么要投否决票呢?
adapter = new ArrayAdapter<String>
(mainpagetry.this,
android.R.layout.simple_spinner_dropdown_item
Arrays.asList("item1", "item2", "item3"));