Android TableView with MSSQL



我正忙于尝试从MSSQL获得一个数组,以便在应用程序的表视图窗体中显示。我试过在谷歌上搜索,但似乎找不到这样的例子。我试过了,但是我遇到了一个小错误。我得到以下错误Cannot resolve constructor:Simpletabledata adapter[package.mainactivity, package.itemarray]

这是我的mainactivy.java类:

public class MainActivity extends AppCompatActivity {
static String[] spaceProbeHeaders={"Name"};
private ArrayList<ClassListItems> itemArrayList;  //List items Array
private MyAppAdapter myAppAdapter; //Array Adapter
final TableView<String[]> tableView = (TableView<String[]>) findViewById(R.id.tableView);
private boolean success = false; // boolean
Connection conn; // Connection Class Initialization

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tableView.setHeaderBackgroundColor(Color.parseColor("#777777"));
tableView.setHeaderAdapter(new SimpleTableHeaderAdapter(this,spaceProbeHeaders));
tableView.setColumnCount(4);
itemArrayList = new ArrayList<ClassListItems>(); // Arraylist Initialization
// Calling Async Task
SyncData orderData = new SyncData();
orderData.execute("");
}
// Async Task has three overrided methods,
private class SyncData extends AsyncTask<String, String, String>
{
String msg = "Internet/DB_Credentials/Windows_FireWall_TurnOn Error, See Android Monitor in the bottom For details!";
ProgressDialog progress;
@Override
protected void onPreExecute() //Starts the progress dailog
{
progress = ProgressDialog.show(MainActivity.this, "Synchronising",
"Tableview Loading! Please Wait...", true);
}
@Override
protected String doInBackground(String... strings)  // Connect to the database, write query and add items to array list
{
try
{
ConnectionClass conStr=new ConnectionClass();
conn =conStr.connectionclass();
//Connection Object
if (conn == null)
{
success = false;
}
else {
// Change below query according to your own database.
String query = "SELECT customer_first_name FROM cc_customer";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
if (rs != null) // if resultset not null, I add items to itemArraylist using class created
{
while (rs.next())
{
try {
itemArrayList.add(new ClassListItems(rs.getString("customer_first_name")));
} catch (Exception ex) {
ex.printStackTrace();
}
}
msg = "Found";
success = true;
} else {
msg = "No Data found!";
success = false;
}
}
} catch (Exception e)
{
e.printStackTrace();
Writer writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer));
msg = writer.toString();
success = false;
}
return msg;
}
@Override
protected void onPostExecute(String msg) // disimissing progress dialoge, showing error and setting up my listview
{
progress.dismiss();
Toast.makeText(MainActivity.this, msg + "", Toast.LENGTH_LONG).show();
if (success == false)
{
}
else {
try {
//myAppAdapter = new MyAppAdapter(itemArrayList, MainActivity.this);

tableView.setDataAdapter(new SimpleTableDataAdapter(MainActivity.this,itemArrayList ));
} catch (Exception ex)
{
}
}
}
}

这是我的classlist.java文件:

public class ClassListItems
{

public String name; //Name
public ClassListItems(String name)
{
this.name = name;
}

public String getName() {
return name;
}

更新

N.B:OP正在使用SortableTableView库。

您需要导入以下内容来解决Cannot resolve constructor:SimpleTableDataAdapter-

import de.codecrafters.tableview.toolkit.SimpleTableDataAdapter;

原件

你的项目中有SimpleTableDataAdapter类吗?它似乎找不到类,所以它不在同一个包中。如果它在不同的包中,则需要导入它。另一方面,您的.java文件名应该与类名匹配

另一方面,你有没有测试过itemArrayList实际上正在填充?对于Android MSSQL,这里有一个教程指针-

https://parallelcodes.com/connect-android-to-ms-sql-database-2/

如果你在谷歌上搜索,有很多教程。

最新更新