这是我试图做的,但它给了我一个警告:
HashMap<String, String>[] responseArray = new HashMap[games.size()];
Run Code Online (Sandbox Code Playgroud)
类型安全:HashMap []类型的表达式需要未经检查的转换以符合HashMap []
我想做的很简单:在子视图中的图像前面贴一个标签.
但是,当选择我的标签时,所有排列选项都被禁用/取消选择.我发现这种情况经常发生.
可能是因为我几乎从未允许在"排列"菜单中更改对象的z轴?避免此功能并以编程方式设置视图顺序是一种更好的做法吗?
我想知道我们是否可以使用索引来访问List
例如:
List<Integer> list;
list[5] //blah....
Run Code Online (Sandbox Code Playgroud) 我想在我的微调器的下拉视图中显示两个值.
目前,它只有一个城市名称,但我还想为它添加一个小距离字段.
MyCity<MyCityDistance> dataAdapter;
dataAdapter = new MyCity(this, R.layout.mycityrow, list);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Run Code Online (Sandbox Code Playgroud)
我拥有自定义数据适配器的所有代码,扩展了我的视图和持有者等.
但是,显示的项目不显示城市及其与当前位置的距离.
它只显示MyCityDistance类的toString()方法中被覆盖的内容.
我甚至尝试过设置
dataAdapter.setDropDownViewResource(R.layout.mycityrow);
但是,没有成功.它抛出一个错误.
04-02 11:05:22.600: E/AndroidRuntime(367): java.lang.IllegalStateException: ArrayAdapter requires the resource ID to be a TextView
04-02 11:05:22.600: E/AndroidRuntime(367): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:347)
04-02 11:05:22.600: E/AndroidRuntime(367): at android.widget.ArrayAdapter.getDropDownView(ArrayAdapter.java:376)
04-02 11:05:22.600: E/AndroidRuntime(367): at android.widget.Spinner$DropDownAdapter.getDropDownView(Spinner.java:332)
Run Code Online (Sandbox Code Playgroud)
创建自定义的好例子是setDropDownViewResource()什么?
即使我注释掉这一setDropDownViewResource()行,我也会得到同样的错误.
注意:唯一的效果mycityrow当前是Spinner的第一个元素按照布局显示mycityrow.但是,当我单击打开下拉列表时,该布局将丢失.在下拉选择期间我也想要相同的布局.
我正在尝试使用gson将此返回的JSON转换为某种数据结构,以便我可以提取有用的数据.
例如:
http://search.twitter.com/search.json?q=test&rpp=1
返回:
{
"completed_in":0.028,
"max_id":196386333906837504,
"max_id_str":"196386333906837504",
"next_page":"?page=2&max_id=196386333906837504&q=test&rpp=1",
"page":1,
"query":"test",
"refresh_url":"?since_id=196386333906837504&q=test",
"results":[
{
"created_at":"Sat, 28 Apr 2012 23:52:05 +0000",
"from_user":"della_ky",
"from_user_id":525641596,
"from_user_id_str":"525641596",
"from_user_name":"kydella modeste",
"geo":null,
"id":196386333906837504,
"id_str":"196386333906837504",
"iso_language_code":"en",
"metadata":{
"result_type":"recent"
},
"profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/2159990525\/webcam-toy-photo3_20_2__normal.jpg",
"profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images\/2159990525\/webcam-toy-photo3_20_2__normal.jpg",
"source":"<a href="http:\/\/mobile.twitter.com" rel="nofollow">Mobile Web<\/a>",
"text":"RT @Y__U__NOOO: #SongsIKnowOffByHeart ALL SONGS I LISTEN TO. BRAIN, Y U NO REMEMBER TEST ANSWERS LIKE THAT?!?",
"to_user":null,
"to_user_id":null,
"to_user_id_str":null,
"to_user_name":null
}
],
"results_per_page":1,
"since_id":0,
"since_id_str":"0"
}
Run Code Online (Sandbox Code Playgroud)
最后,我希望能够输出一个推文列表,其中包含发件人的姓名和推文的日期/时间.
我已经阅读了gson文档,但说实话 - 我有很多新概念.
我是否需要定义一个完全映射到JSON结构的类,然后填充该类的实例?如果是这样,这似乎非常不灵活/费力.理想情况下,我正在寻找能够以任何形式处理JSON的东西,并给我一个我可以自动使用的结构......
有人能给我一些指示吗?对此更新 - 更详细和最少音节的文字越多越好!
更新 - 感谢我已经对此做出的回应,我已经开始将一个类放在一起来捕获twitter JSON.但是,由于JSON有一个嵌入的对象ArrayList,我有点挣扎......到目前为止,我有
public class tweetData …Run Code Online (Sandbox Code Playgroud) 这似乎是一个非常简单的问题,但我想在QMainWindow关闭时转储一些数据,所以我使用了以下代码:
QObject::connect(MainWindow.centralwidget, SIGNAL(destroyed()), this, SLOT(close()));
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有让它成为可能close().我做错了吗?
是不是中央人员应该被摧毁?
或者也许应用程序在close()被调用之前关闭?
那么做其他任何方式呢?
当用户启动我的Android应用程序时,我会启动2个线程在后台进行一些处理.thread_1在客户端上进行一些计算,而thread_2从服务器获取一些数据.一切正常.没有线程修改UI.我有两个跟进问题.
new Thread(new Runnable(){
@Override
public void run(){
MyClass.someStaticVariable = doSomeCalculations();
}
}).start();
Run Code Online (Sandbox Code Playgroud)
从线程的run()方法检索数据的最佳实践是什么?我目前有一个静态变量,我将相关计算数据/获取数据分配给它.或者是否建议使用Handler类从线程中获取数据?我想如果他们想要更新UI,只使用处理程序.
while(true)
{
if (!thread1.isAlive() && !thread2.isAlive())
{
startActivity(intent)
}
}
Run Code Online (Sandbox Code Playgroud)我需要等到两个线程都完成后再通过Intent从两个线程传递数据.我怎样才能做到这一点?我可以使用上面显示的代码来完成它,但这似乎是错误的.
我试图让UIViewController右边的"幻灯片"动画出现.不像Push segue,不像Facebook应用程序.我希望新的ViewController在当前的一个上滑动(不要将它推开),但只覆盖屏幕的PART,而另一部分则显示第一个ViewController.
我尝试过的:我得到的最接近的是创建一个具有以下内容的自定义segue:
- (void)perform
{
__block UIViewController *src = (UIViewController *) self.sourceViewController;
__block UIViewController *dst = (UIViewController *) self.destinationViewController;
CATransition* transition = [CATransition animation];
transition.duration = .50;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionMoveIn;
transition.subtype = kCATransitionFromRight;
[src.navigationController.view.layer addAnimation:transition forKey:@"SwitchToView1"];
[src.navigationController pushViewController:dst animated:NO];
}
Run Code Online (Sandbox Code Playgroud)
这实现了我想要的动画,但它涵盖了整个第一个ViewController.我怎么能让它停在某一点而不是覆盖整个事物?
我正在使用Storyboards,这是我第一次尝试任何类型的新动画.
我在App Store中有一个付费应用程序.最近我收到一封电子邮件说我的发行证书即将到期,需要续订.
电子邮件是:
此证书将在30天内不再有效.要创建新证书,请访问会员中心中的证书,标识符和配置文件.
我的问题是,在通过等待整整30天然后续订或通过撤销它并请求新的更新之后,我可以更新已经存在的应用程序吗?如何?
我意识到这有点奇怪,但我有一个按钮需要看起来像一个EditText但仍然像按钮一样.我的布局XML目前看起来像这样:
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="?android:attr/editTextStyle" />
Run Code Online (Sandbox Code Playgroud)
这给了它一个EditText的外观,但是由于阻止了onClick事件被触发,除非按钮具有焦点(有效地使它需要两次点击),所以还会稍微混淆行为.有没有办法保持风格而不改变按钮的行为?
我想过只做一个看起来像EditText的9补丁背景,但是有很多不同的Android版本和皮肤,我宁可使用系统风格,如果可能的话.