我想在没有任何第三方库的应用程序中处理未处理的异常.
所以我写了一个代码.
活动:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Thread.setDefaultUncaughtExceptionHandler(new ReportHelper(this));
throw new NullPointerException();
}
Run Code Online (Sandbox Code Playgroud)
我的崩溃处理程序
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.os.MessageQueue;
import android.widget.Toast;
/**
* Created by S-Shustikov on 08.06.14.
*/
public class ReportHelper implements Thread.UncaughtExceptionHandler {
private final AlertDialog dialog;
private Context context;
public ReportHelper(Context context) {
this.context = context;
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("Application was stopped...")
.setPositiveButton("Report to developer about this problem.", new DialogInterface.OnClickListener() {
public …Run Code Online (Sandbox Code Playgroud) 我在TextView中有两个单词:
Hello world.
Run Code Online (Sandbox Code Playgroud)
现在我想要着色world为红色.如何在不使用Java代码的情况下仅在XML本身中执行此操作(不使用Html.fromHtml()它)
我有这种奇怪的情况
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"/>
<ProgressBar
android:id="@+id/my_progressBar"
style="@style/Widget.AppCompat.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:indeterminate="true"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
ProgressBar不是动画.我做错了什么?
我开始遇到 android 复数形式,并且我对这个功能的可用性感到满意。我声明plurals.xml并尝试从我的代码中读取它们,但我得到了不正确的结果。
复数:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<plurals name="numbers">
<item quantity="zero">No comments</item>
<item quantity="one">%1$d comment.</item>
<item quantity="two">%1$d comments.</item>
<item quantity="few">%1$d comments.</item>
<item quantity="many">%1$d comments.</item>
<item quantity="other">%1$d comments.</item>
</plurals>
<plurals name="numberOfSongsAvailable">
<item quantity="zero">No song found.</item>
<item quantity="one">One song found.</item>
<item quantity="two">Two song found.</item>
<item quantity="other">Other songs found.</item>
</plurals>
</resources>
Run Code Online (Sandbox Code Playgroud)
活动 :
public class AndroidPlurals extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.plurals);
((ListView) findViewById(R.id.listView)).setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getPluralsList(10)));
Toast.makeText(this, getClass().getSimpleName(), Toast.LENGTH_LONG).show();
}
private String[] getPluralsList(int k) …Run Code Online (Sandbox Code Playgroud) 我有两次困扰我的奇怪情况.
我在我的主模块中显示 - igs_main
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" package="com.example">
<application
android:name=".CommonApplication"
android:allowBackup="false"
android:label="@string/app_name"
android:hardwareAccelerated="true"
android:networkSecurityConfig="@xml/network_security_config"
android:theme="@style/AppTheme"
android:supportsRtl="false"
tools:replace="android:supportsRtl,android:allowBackup"
tools:ignore="GoogleAppIndexingWarning, UnusedAttribute, RtlSupport">
<activity android:name=".auth.view.SplashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
当我试图启动我的应用程序时,它看起来像
我收到一个错误:
我试着直接指定我的默认Activity,但是AS表示此活动未在Manifest中声明.
Invalidate Caches and RestartAS和Rebuild项目,但它也没有帮助我.所以,我浪费所有可能的解决方案.谁知道如何解决?
我有一种情况,我只需要读取文件的一部分,从指定的字节位置开始。
我尝试下一个:
protected void writePartToStream(final InputStream in, final OutputStream out, long startBytes) {
final byte[] b = new byte[BUFFER_SIZE];
int count = 0;
amountWritten = startBytes;
// skip logic
// how to skip???
do {
// write to the output stream
try {
out.write(b, 0, count);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
amountWritten += count;
System.out.println("Amount writtent=" + amountWritten);
// read more bytes from the input stream
try {
count = in.read(b, (int) amountWritten, b.length);
} catch (IOException …Run Code Online (Sandbox Code Playgroud) 我需要将光标颜色和底线颜色更改#FFFFFF为xml中的EditText.
我怎么能这样做?
我的styles.xml:
<resources>
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.NoActionBar">
<item name="android:actionMenuTextColor">@color/toolbar_text_color</item>
<item name="colorAccent">#FFFFFF</item>
<item name="colorPrimary">#FFFFFF</item>
<item name="android:editTextStyle">@style/EditTextStyle</item>
<!--<item name="actionMenuTextColor">@color/toolbar_text_color</item>-->
</style>
<!-- Toolbar theme. -->
<style name="ToolbarTheme" parent="@style/Theme.AppCompat.NoActionBar">
<item name="actionMenuTextColor">@color/toolbar_text_color</item>
<item name="android:actionMenuTextColor">@color/toolbar_text_color</item>
<item name="android:textColorSecondary">@color/hockeyapp_button_background_pressed</item>
<item name="android:textColor">@color/toolbar_text_color</item>
<item name="android:background">@color/toolbar_bg_color</item>
</style>
<style name="EditTextStyle" parent="Widget.AppCompat.EditText">
<item name="colorControlNormal">#FFFFFF</item>
<item name="colorControlActivated">#FFFFFF</item>
<item name="colorControlHighlight">#FFFFFF</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
EditText的定义:
<EditText
android:id="@+id/ed_profile_id"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fontFamily="sans-serif"
android:hint="Profile id"
android:textColorHint="@color/white"
android:textSize="20dp"
android:layout_marginTop="20dp" />
Run Code Online (Sandbox Code Playgroud) 我有一个密码
var exampleData = MutableLiveData<String>()
private set
Run Code Online (Sandbox Code Playgroud)
我想将设置器隐藏为MutableLiveData的值
exampleData.value = "Hi!" // still working
Run Code Online (Sandbox Code Playgroud)
我尝试了几种方法,但是所有方法都在工作!
var exampleData = MutableLiveData<String>()
private set(value) { field = value } // Working!
var exampleData = MutableLiveData<String>()
internal set // Working!
var exampleData = MutableLiveData<String>()
internal set(value) { field = value } // Working!
Run Code Online (Sandbox Code Playgroud)
如何隐藏此二传手?
我有Circle结构:
public class Circle
{
private int x;
private int y;
private int radius;
private static final int color = Color.WHITE;
public Circle(int x, int y, int radius)
{
this.x = x;
this.y = y;
this.radius = radius;
}
public int getRadius()
{
return radius;
}
public int getY()
{
return y;
}
public int getX()
{
return x;
}
public int getColor()
{
return color;
}
}
Run Code Online (Sandbox Code Playgroud)
并存储它们 Stack<Circle>
我想生成一个新的圈子有没有交集在其他的圈子Stack
按照这个答案我接下来做: …
如何在Kotlin中为枚举自定义toString()方法?
enum class GuideType(type: String) {
DEF_TYPE("default"),
override fun toString(): String {
return type // not working!
}
}
Run Code Online (Sandbox Code Playgroud)