我遇到的问题是在应用程序上更改本地化时,某些单词的字符长度比以前的语言长,因此按钮的大小存在问题,因为它们最初只是为英语制作的。
英语语言环境截图
西班牙语言环境截图
我知道我可以添加android:maxLines="1"但这不能解决我的问题,因为文本太大。我尝试对文本大小使用 textview auto sizer,但这并没有解决问题。
有没有人有建议?
我db.sqlite在Asset文件夹中有我的文件,当我尝试打开它时出现此错误:
android.database.sqlite.SQLiteCantOpenDatabaseException:未知错误(代码14):无法打开数据库
我尝试了不同的路径和名称(有和没有扩展名),但我不能使它工作.
package com.example.APP.db;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import android.content.Context;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteException;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DataBaseHelper extends SQLiteOpenHelper {
// The Android's default system path of your application database.
private static String DB_PATH = "/data/data/com.example.APP/databases/";
private static String DB_NAME = "app";
private SQLiteDatabase myDataBase;
private final Context myContext;
/**
* Constructor Takes and keeps a reference of the passed context in order …Run Code Online (Sandbox Code Playgroud) 所以,我不明白为什么会出现这个错误:
04-06 17:51:10.252:E/AndroidRuntime(10745):致命异常:主04-06 17:51:10.252:E/AndroidRuntime(10745):进程:com.stm.classlife,PID:10745 04-06 17:51:10.252:E/AndroidRuntime(10745):java.lang.ArrayIndexOutOfBoundsException:length = 2; index = 2 04-06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView $ RecycleBin.addScrapView(AbsListView.java:6588)04-06 17:51:10.252:E/AndroidRuntime(10745 ):在android.widget.ListView.layoutChildren(ListView.java:1632)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView.onTouchMove(AbsListView.java:3763)04- 06 17:51:10.252:E/AndroidRuntime(10745):在android.widget.AbsListView.onTouchEvent(AbsListView.java:3632)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view. View.dispatchTouchEvent(View.java:8471)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2399)04-06 17:51:10.252: E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2092)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java) :2405)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEv ent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405) )04-06 17:51:10.252:E/AndroidRuntime(10745):在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51:10.252:E/AndroidRuntime(10745):atroid .view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2405)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2106)04-06 17:51 :10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl.PhoneWindow $ DecorView.superDispatchTouchEvent(PhoneWindow.java:2369)04-06 17:51:10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWind ow.java:1719)04-06 17:51:10.252:E/AndroidRuntime(10745):在android.app.Activity.dispatchTouchEvent(Activity.java:2742)04-06 17:51:10.252:E/AndroidRuntime( 10745):在android.support.v7.app.ActionBarActivityDelegateICS $ WindowCallbackWrapper.dispatchTouchEvent(ActionBarActivityDelegateICS.java:268)04-06 17:51:10.252:E/AndroidRuntime(10745):at com.android.internal.policy.impl .PhoneWindow $ DecorView.dispatchTouchEvent(PhoneWindow.java:2330)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.View.dispatchPointerEvent(View.java:8666)04-06 17:51 :10.252:E/AndroidRuntime(10745):在android.view.ViewRootImpl $ ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4123)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewRootImpl $ ViewPostImeInputStage.onProcess(ViewRootImpl.java:3989)04-06 17:51:10.252:E/AndroidRuntime(10745):at android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:3544)04-06 17:51: 10.252:E/AndroidRuntime(10745):在android.view.Vi ewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:3597)04-06 17:51:10.252:E/AndroidRuntime(10745):at …
我想通过单击Button来播放 YouTube 视频,但我收到了一个我不想显示的操作对话框窗口。我希望 YouTube 视频链接应在单击按钮时直接在 YouTube 应用程序中打开,而不是显示此“选择操作”窗口:
这怎么可能?
代码:
playVideo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.youtube.com/watch?v=bzSTpdcs-EI")));
}
});
Run Code Online (Sandbox Code Playgroud) 我想AlertDialog在两行中显示消息,在一行中以粗体显示文本,在下一行显示简单文本(无任何样式)。
现在,如果我使用粗体文本执行换行,则换行了但文本未显示为粗体。为什么呢 谁能帮我。
代码:
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("Alert");
Spanned s1 = Html.fromHtml("<b>" + "Text in Bold"+ "</b>");
String s2 = "Normal Text";
alertDialog.setMessage(s1+ "\n" + s2);
AlertDialog dialog = alertDialog.create();
dialog.show();
Run Code Online (Sandbox Code Playgroud) 我在遇到崩溃的报告时经常不知道为什么这个例外?
Fatal Exception: java.lang.RuntimeException: Failure from system
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1547)
at android.app.Activity.startActivityForResult(Activity.java:4283)
at android.app.Activity.startActivityForResult(Activity.java:4230)
at android.support.v4.app.FragmentActivity.startActivityForResult(Unknown Source)
at android.app.Activity.startActivity(Activity.java:4567)
at android.app.Activity.startActivity(Activity.java:4535)
at com.app.Register.MainActivity.onClick(Unknown Source)
at android.view.View.performClick(View.java:5702)
at android.widget.TextView.performClick(TextView.java:10887)
at android.view.View$PerformClick.run(View.java:22533)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
Caused by android.os.TransactionTooLargeException: data parcel size 8177736 bytes
at android.os.BinderProxy.transactNative(Binder.java)
at android.os.BinderProxy.transact(Binder.java:503)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:3130)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1540)
at android.app.Activity.startActivityForResult(Activity.java:4283)
at android.app.Activity.startActivityForResult(Activity.java:4230)
at android.support.v4.app.FragmentActivity.startActivityForResult(Unknown Source)
at android.app.Activity.startActivity(Activity.java:4567)
at android.app.Activity.startActivity(Activity.java:4535)
at ca.dailydelivery.driver.Register.AdditionalInfoActivity.onClick(Unknown Source)
at android.view.View.performClick(View.java:5702)
at android.widget.TextView.performClick(TextView.java:10887)
at android.view.View$PerformClick.run(View.java:22533)
at …Run Code Online (Sandbox Code Playgroud) 我想在文件中的构建期间解析 xml 文件build.gradle,并想要修改 xml 的某些值,我遵循这个 SO 问题和答案在 Groovy 中加载、修改和编写 XML 文档,但无法在我的 xml 文件中进行任何更改。谁能帮我吗。谢谢
代码build.gradle:
def overrideLocalyticsValues(String token) {
def xmlFile = "/path_to_file_saved_in_values/file.xml"
def locXml = new XmlParser().parse(xmlFile)
locXml.resources[0].each {
it.@ll_app_key = "ll_app_key"
it.value = "123456"
}
XmlNodePrinter nodePrinter = new XmlNodePrinter(new PrintWriter(new FileWriter(xmlFile)))
nodePrinter.preserveWhitespace = true
nodePrinter.print(locXml)
}
Run Code Online (Sandbox Code Playgroud)
xml文件:
<resources>
<string name="ll_app_key" translatable="false">MY_APP_KEY</string>
<string name="ll_gcm_sender_id" translatable="false">MY_GCM_SENDER_ID</string>
</resources>
Run Code Online (Sandbox Code Playgroud) 我有一个LinearLayout内部LinearLayout和一个孩子linearlayout有它的layout params地方,height并被width定义为
LinearLayout linearLayout=new LinearLayout(context);
LinearLayout.LayoutParams lp=new LinearLayout.LayoutParams(50,50);
linearLayout.setLayoutParams(lp);
Run Code Online (Sandbox Code Playgroud)
现在后视图中创建我试图从获得一个视图的高度getHeight()和getMeasuredHeight(),但是这两种方法返回0.?
int heightofView=linearLayout.getHeight();
int heightofview=linearLayout.getMeasuredHeight();
Run Code Online (Sandbox Code Playgroud)
为什么这两个方法都返回0视图的高度?当这些方法返回实际结果时?如何获得我创建的视图的高度?
我想toolbar在中心显示标题,所以我使用自定义textview来显示这样的标题:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="Title"
android:textColor="@android:color/white"
android:textSize="25sp"
android:textStyle="bold" />
</android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)
代码:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
TextView title = (TextView) toolbar.findViewById(R.id.toolbar_title);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
title.setText("Title");
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
onBackPressed();
}
});
Run Code Online (Sandbox Code Playgroud)
结果 :
如果我启用工具栏的后退按钮,标题文本不会正确显示在中心。
如果未启用工具栏的后退按钮,则一切正常,即
如果
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)
结果 :
现在,我还想在工具栏启用后退按钮的情况下在中心显示标题。这该怎么做 ?任何帮助
我坚持margin和padding一个标题的问题AlertDialog.Builder,我正在做的是我想要标题,center所以我使用setCustomTitle我能够这样做,但坚持边缘和填充它.我不希望显示不需要的填充,我也想设置一些标题的顶部边距,我正在使用,LinearLayout.LayoutParams但它没有任何影响.请建议如何处理它.谢谢
代码:
dialog = new AlertDialog.Builder(context, R.style.DialogTheme);
TextView title = new TextView(context);
title.setTextColor(ContextCompat.getColor(context, R.color.black));
title.setTextSize(TypedValue.COMPLEX_UNIT_SP, 20);
title.setTypeface(Typeface.DEFAULT_BOLD);
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
lp.setMargins(0, 20, 0, 0);
title.setLayoutParams(lp);
title.setText("Dialog");
title.setGravity(Gravity.CENTER);
dialog.setCustomTitle(title);
dialog.setMessage("Dialog box with custom title view ");
dialog.setCancelable(false);
dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.show();
Run Code Online (Sandbox Code Playgroud)
android ×9
java ×2
build.gradle ×1
groovy ×1
listview ×1
sqlite ×1
xml ×1
xml-parsing ×1
youtube ×1