我一直在关注此Android指南进行蓝牙通信
为了准确地解释我想要做什么,当两个设备配对时,在每个设备(服务器和客户端)上打开两个不同的活动,在服务器活动上我有不同的按钮,在客户端活动上只有一个textview.我希望能够按下服务器设备上的按钮并将其显示在客户端上.
我已经设法在两个设备之间建立连接,但现在我想发送我无法做的数据.
他们提供此代码用于数据传输:
private class ConnectedThread extends Thread {
private final BluetoothSocket mmSocket;
private final InputStream mmInStream;
private final OutputStream mmOutStream;
public ConnectedThread(BluetoothSocket socket) {
mmSocket = socket;
InputStream tmpIn = null;
OutputStream tmpOut = null;
// Get the input and output streams, using temp objects because
// member streams are final
try {
tmpIn = socket.getInputStream();
tmpOut = socket.getOutputStream();
} catch (IOException e) { }
mmInStream = tmpIn;
mmOutStream = tmpOut;
}
public void run() { …Run Code Online (Sandbox Code Playgroud) 我的QStandardItemModel. 我想要做的是在我的模型中添加一个列表,当列表更新时,我在参数中传递新列表,清除旧模型并添加新列表。这听起来很简单,但我遇到了一个我无法弄清楚的错误。当我将第一个列表添加到模型时没有问题,但是当我添加第二个列表时,第一个列表被成功删除(我可以在控制台中看到)但随后应用程序崩溃。
这是我的代码:
void MyModel::updateList(QList<QStandardItem*> list)
{
// Delete current model
int rows = rowCount();
for (int i = 0 ; i < rows ; i++)
{
if(item(0)->hasChildren())
{
int children = item(0)->rowCount();
for (int j = 0 ; j < children ; j++)
{
QString name = item(0)->child(0)->accessibleText();
qDebug()<<(name + QLatin1String("\tremoved"));
item(0)->removeRow(0);
}
}
QString itemRemoved = item(0)->accessibleText();
qDebug()<<(itemRemoved + QLatin1String("\tremoved"));
removeRow(0);
}
// Add new list to model
for(int j=0 ; j<list.count() ; j++)
{
appendRow(list[j]); …Run Code Online (Sandbox Code Playgroud) 在我的应用程序(ExtJS 5.0.1)中,我尝试使用带有自定义/硬编码接头的gridfilters插件和快捷方式按钮(也来自树)的网格。
我可以部分模拟过滤器的设置和清除,但是遇到以下问题:
1-当我通过grid.filters.store.addFilter(..)列标题的样式设置过滤器时,它不会变为粗体,并且网格过滤器复选框保持未选中状态。
2-与1相同,但取反...首先在列上设置过滤器,当我清除过滤器时,该列将保持为粗体,但在这种情况下,复选框将被清除(应如此)。
3-当我使用汇总功能“有时”时,总数量未更新
所以,我的问题是:是否有适当的方法以编程方式设置/清除模仿gridfilter插件的过滤器?
我放了一个小提琴来模拟这一点。
https://fiddle.sencha.com/#fiddle/akh
最好的问候,里卡多·塞萨斯