我string在内存中有一些XML,如下所示:
<symbols>
<symbol>EURCHF</symbol>
<symbol>EURGBP</symbol>
<symbol>EURJPY</symbol>
<symbol>EURUSD</symbol>
</symbols>
Run Code Online (Sandbox Code Playgroud)
我想把它读成一个DataTable.我是这样做的:
DataTable dt = new DataTable();
dt.TableName = "symbols";
dt.Columns.Add("symbol");
if (!String.IsNullOrEmpty(symbols))
{
dt.ReadXml(new StringReader(symbols));
}
Run Code Online (Sandbox Code Playgroud)
但是当我检查行数时,DataTable最终会有零行.我究竟做错了什么?
我为每个视图创建了一个带有自定义布局的ListView.我onClickListeners在列表视图适配器中有几个用于TextView自定义布局中的项目.onClickListeners在列表视图适配器中工作,我可以获取视图的位置,但是当我尝试onClickListeners在我的活动中的to方法中进行调用时,我得到"无法对非静态方法进行静态引用"错误.所以我开始将事物转换为静态,这使事情按预期工作,但我相信你们都知道这是一个很大的错误,它最终赶上了我.
如何在不使方法静态的情况下访问主活动中的方法?我是新来的,所以请原谅我的无聊问题.谢谢
部分代码列表......
public class main extends Activity {
private ArrayList<DataItem> dataItems;
private DataItemAdapter aa;
private ListView dataListView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
dataListView = (ListView)findViewById(R.id.dataListView);
dataItems = new ArrayList<DataItem>();
int resID = R.layout.dataitem;
aa = new DataItemAdapter(this, resID, dataItems);
dataListView.setAdapter(aa);
dataListView.setItemsCanFocus(true);
populateArray();
}
public void populateArray() {
DataItem newItem = new DataItem(
"2008","Ferrari","F430","Red","ASX772"
);
dataItems.add(0, newItem);
newItem = new DataItem(
"2008","Ferrari","F430","Black","TZB123"
);
dataItems.add(0, newItem);
newItem = new DataItem(
"2009","Ferrari","F430","Red","MIDAS"
); …Run Code Online (Sandbox Code Playgroud) 我正在研究一个使用mercurial的项目,并且它已经陷入了一些混乱的问题,其中包括许多用于所有密集目的的磁头.
我想杀掉这些头并将提交图重新放回一行.
我被告知有一种合并分支的方法,但同时忽略任何文件更改,所以基本上只是合并树,但我似乎无法解决命令集.
有没有办法做到这一点,通过合并和忽略文件更改来杀掉分支?或者有没有一种方法可以在没有更改的情况下再次引入图形(在项目中没有大的不相关性)?
当一些项目拥有所有"ltmain","aclocal.m4"和其他"autogen.sh"时,会带来不适:
./autogen.sh是慢的../configure是慢的../configure失败抱怨错过了一些东西.我解决了它,它抱怨接下来的事情.慢.configure.ac通常都很大而且难以理解..deps或者.libs或者其他什么.它的每个问题都会给{auto,lib}工具增加越来越多的仇恨点.
如何与这些东西相处得好?是否有一个简短的教程(不是很长的"GNU Build System简介"或者它是如何调用的)以及如何创建,修复和调试这些东西的全面参考?
我正在使用Tiles,我想为页面定义的属性可以在其中一个包含的子页面内读取,如下所示:
tiles-definitions.xml:
<definition name="page" template="/WEB-INF/tiles/layout/page.jsp">
<put-attribute name="header" value="/WEB-INF/jsp/_include/header.jsp"/>
<put-attribute name="footer" value="/WEB-INF/jsp/_include/footer.jsp"/>
</definition>
<definition name="tutorial" extends="page">
<put-attribute name="title" value="Tutorial"/>
<put-attribute name="body" value="/WEB-INF/jsp/tutorial.jsp"/>
</definition>
Run Code Online (Sandbox Code Playgroud)
该page.jsp代表一个简单的页面结构:
<html>
<head><title><tiles:getAsString name="title"/></title></head>
<body>
<tiles:insertAttribute name="header"/>
<tiles:insertAttribute name="body"/>
<tiles:insertAttribute name="footer"/>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在"标题"子页面内读取标题,但是我收到以下错误:
org.apache.tiles.template.NoSuchAttributeException:找不到属性'title'.
以下是我尝试访问header.jsp中的属性的方法:
<tiles:getAsString name="title"/>
Run Code Online (Sandbox Code Playgroud) 我在Android应用程序中使用官方Facebook SDK.用户登录后,我可以获取uid和facebook用户的名称,如下所示:
Facebook mFacebook = new Facebook(APP_ID);
// ... user logs in ...
//String jsonUser = mFacebook.request("me/picture"); // throws error
String jsonUser = mFacebook.request("me");
JSONObject obj = Util.parseJson(jsonUser);
String facebookId = obj.optString("id");
String name = obj.optString("name");
Run Code Online (Sandbox Code Playgroud)
我也知道我可以使用这些链接访问个人资料图片:
https://graph.facebook.com/<facebookId>/picture
https://graph.facebook.com/<facebookId>/picture?type=large
Run Code Online (Sandbox Code Playgroud)
我很乐意使用此代码来查看个人资料图片:
public static Drawable getPictureForFacebookId(String facebookId) {
Drawable picture = null;
InputStream inputStream = null;
try {
inputStream = new URL("https://graph.facebook.com/" + facebookId + "/picture").openStream();
} catch (Exception e) {
e.printStackTrace();
return null;
}
picture = Drawable.createFromStream(inputStream, "facebook-pictures");
return picture;
} …Run Code Online (Sandbox Code Playgroud) 如何让DataGridView中的某些单元格无法选择?
"不可选择"是指:不能以任何方式选择它并试图选择它不会取消选择任何其他单元格.
我不是故意的ReadOnly.我的单元格已经将此属性设置为true.
DataGridView.MultiSelect 需要是假的.
感谢JYL的回答,我写了一个代码:
private int selectedCellRow = 0;
private int selectedCellColumn = 0;
private void grid_CellStateChanged(object sender, DataGridViewCellStateChangedEventArgs e)
{
if (e.Cell == null || e.StateChanged != DataGridViewElementStates.Selected)
return;
if (e.Cell.RowIndex == 0 || e.Cell.ColumnIndex == 0 || e.Cell.RowIndex == 1 && e.Cell.ColumnIndex == 1)
{
e.Cell.Selected = false;
grid.Rows[selectedCellRow].Cells[selectedCellColumn].Selected = true;
}
else
{
selectedCellRow = e.Cell.RowIndex;
selectedCellColumn = e.Cell.ColumnIndex;
}
//this was only for seeing what is happening
//this.Text = selectedCellRow + " …Run Code Online (Sandbox Code Playgroud) 我有一个函数接受来自网络的请求.大多数情况下,传入的字符串不是unicode,但有时它是.
我有代码将所有内容转换为unicode,但它报告此错误:
message.create(username, unicode(body, "utf-8"), self.get_room_name(),\
TypeError: decoding Unicode is not supported
Run Code Online (Sandbox Code Playgroud)
我认为原因是'body'参数已经是unicode,所以unicode()引发了异常.
有没有办法避免这种异常,例如在转换之前判断类型?
有没有办法在运行时请求数据库密码而不是将其(加密或不加密)放在hibernate.cfg.xml文件中?
在ChipworkX设备上,我们将使用以下方法读取文件:
File.ReadAllBytes(filename);
Run Code Online (Sandbox Code Playgroud)
但是如果我们在内存量少得多的NetDuino Plus上尝试,
我们就会得到一个OutOfMemoryException.
文件不是那么大,但我想在这种情况下都是相对的(最大1.5kb).
在这样的设备上读取文件的正确方法是什么?