在第一次启动应用程序时,我想提示用户(通过对话框)选择他们的城市,然后这将保存他们的偏好并将正确的数据加载到列表视图中.但是,我注意到可以通过后退按钮关闭对话框,或者按对话框外的任何位置,然后触发数据库的空值.
无论如何我可以强制对话框保持打开状态,直到用户选择了一个选项?
我已经实现了.setCancelable(false),这似乎不起作用.我的代码如下,DialogSetup是我正在使用的内部类.
任何帮助/想法将不胜感激.
public class MainActivity extends ListActivity {
private Cursor lines;
private MetroSleepDb db;
private ListAdapter adapter;
public static final String PREFS_NAME = "METROSLEEP_PREFS";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
chooseCityDialog();
}
public void setAdapters() {
db = new MetroSleepDb(this);
lines = db.getLines(); // you would not typically call this on the main thread
//ListView listView = (ListView) findViewById(R.id.li);
adapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_1,
lines,
new String[] {"line_id"},
new int[] {android.R.id.text1}, 0);
getListView().setAdapter(adapter); …Run Code Online (Sandbox Code Playgroud) android android-fragments android-dialog android-dialogfragment
我试图保持棒棒糖及以上(21+)设备的材料设计波纹效果,并对按钮进行风格化,使其周围没有大的边距/空间.
示例1:具有连锁效应但具有边距/间隙的按钮:

示例2:没有波纹效应且没有边距/间隙的按钮:

我希望Exmaple 2的布局具有示例1中使用的涟漪效应.
我styles-v21对实例1的看法如何:
<?xml version="1.0" encoding="utf-8"?>
<resources>
... other styles ...
<style name="FacebookButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ff3b5998</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="GoogleButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ffdd4b39</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="TwitterButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ff55acee</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
<style name="SkipButton" parent="android:Widget.Material.Button">
<item name="android:colorButtonNormal">#ffdfa800</item>
<item name="android:layout_margin">0dp</item>
<item name="android:borderlessButtonStyle">@style/Widget.AppCompat.Button.Borderless</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
示例1的按钮布局是什么样的:
<Button
android:id="@+id/login_with_facebook"
android:text="@string/login_with_facebook"
android:fontFamily="sans-serif-condensed"
android:textSize="16sp"
android:drawableLeft="@drawable/facebook_icon"
android:drawablePadding="25dp"
android:layout_width="match_parent"
android:layout_height="45dp"
android:layout_weight="16.88"
android:textColor="#ffffff"
android:gravity="left|center_vertical"
android:paddingLeft="45dp" …Run Code Online (Sandbox Code Playgroud) android android-theme android-button material-design android-5.0-lollipop
我通过SSL连接到我的数据库Google Cloud SQL.虽然mysqli驱动程序有点修改以允许此功能,但我使用codeigniter 3.0来执行此操作.
它已经好几个月了.但是它刚刚开始返回此警告:
Message: mysqli::real_connect(): SSL operation failed with code 1. OpenSSL Error messages: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
Run Code Online (Sandbox Code Playgroud)
我假设DH Key is too small是主要问题,但我不知道这意味着什么.我用Google搜索了Diffie-Hellman密钥交换,以及"密钥太小"的消息,但我没有太多运气.
这是服务器上的密钥被篡改的标志吗?我已经检查了它们的最后修改日期 - 没有异常的最近访问.
可能是我的服务器做了一些升级到PHP或他们的服务器配置,这可能导致这种破坏,但我想检查并确保它不是别的东西.
感谢您对该主题的任何见解/可读材料.
我想设置/覆盖onclick了内部的我的观点一个按钮(R.id.buy_button)方法(片段内).该应用程序不会返回错误.但是它不会触发onclick方法.我不确定我的实现是否错误或者我的按钮配置错误.任何帮助/意见/指导将不胜感激.
我的onCreateView在这里:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.list_item, container, false);
Button b = (Button) view.findViewById(R.id.buy_button);
b.setOnClickListener(this);
return inflater.inflate(R.layout.fragment_item_list, container, false);
}
Run Code Online (Sandbox Code Playgroud)
我的整个片段代码:
public static class AlbumsFragment extends ListFragment implements View.OnClickListener {
private static final String ARG_SECTION_NUMBER = "section_number";
public AlbumsFragment() {
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onActivityCreated(Bundle b){
super.onActivityCreated(b);
ListView listView = getListView();
List<Album> albums = null;
albums = Album.listAll(Album.class);
Log.i("ALBUMS", albums.toString());
ArrayAdapter<Album> …Run Code Online (Sandbox Code Playgroud) android android-layout android-fragments android-button android-view
Twitter的Fabric平台/ SDK全新.我一直试图将它整合到我现有的中build.gradle,到目前为止它一直很混乱.
当我尝试通过Fabric插件安装"使用Twitter登录"功能时,它会更新build.gradle,然后在同步期间抛出以下错误:
Note: Resolve log file to C:\Users\Mark\AndroidStudioProjects\StarkEnglish2\app\build\generated\source\apt\androidannotations.log
Note: Initialize AndroidAnnotations 3.3.1 with options {androidManifestFile=C:\Users\Mark\AndroidStudioProjects\StarkEnglish2\app\build\intermediates\manifests\full\debug\AndroidManifest.xml}
C:\Users\Mark\AndroidStudioProjects\StarkEnglish2\app\src\main\java\com\starkenglish\app\StarkApplication.java:5: error: cannot find symbol
import com.twitter.sdk.android.Twitter;
^
symbol: class Twitter
location: package com.twitter.sdk.android
warning: The following options were not recognized by any processor: '[androidManifestFile]'
1 error
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileDebugJava'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the …Run Code Online (Sandbox Code Playgroud) twitter android android-studio android-gradle-plugin twitter-fabric
我试图在我的数据库中插入一条记录,该记录由Hibernate(Apache Derby)处理.我有一个使用hbm.xml映射的User对象类,并且数据库连接正常,但是返回以下错误:
ERROR: Syntax error: Encountered "USER" at line 1, column 13. Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not prepare statement
Run Code Online (Sandbox Code Playgroud)
我在日志中收到以下内容:
Dec 07, 2013 4:56:12 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.2.Final}
Dec 07, 2013 4:56:12 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.2.8.Final}
Dec 07, 2013 4:56:12 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Dec 07, 2013 4:56:12 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Dec 07, 2013 4:56:13 PM …Run Code Online (Sandbox Code Playgroud)