您好,我遇到的崩溃仅以这种语法出现,在此声明后它崩溃ats+=getString(R.string.gal_grietineles , grietinele)+"\n";
当我使用ats+=getString(R.string.gal_grietineles )+ grietinele+"\n";
时,它会流畅地运行,我在其他语句中使用了相同的代码结构,但是仅在此应用崩溃后,这是完整的Java代码:
/**
* IMPORTANT: Add your package below. Package name can be found in the project's AndroidManifest.xml file.
* This is the package name our example uses:
*
* package com.example.android.justjava;
*
*/
package com.example.android.justjava;
import java.text.NumberFormat;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.AlarmClock;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import static android.R.attr.name;
import static android.R.id.message;
import static android.R.string.ok;
import static android.os.Build.VERSION_CODES.M;
import static android.provider.AlarmClock.ACTION_SET_ALARM;
import static com.example.android.justjava.R.id.grietine;
import static com.example.android.justjava.R.id.kiek;
import static com.example.android.justjava.R.id.kn;
import static com.example.android.justjava.R.id.sokoladas;
import static com.example.android.justjava.R.id.vardas;
/**
* This app displays an order form to order coffee.
*/
public class JustoApp extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_justo_app);
kiekis(kieks);
}
int kieks=1;
boolean sokolada;
boolean grietinele;
int k=0;
String eik;
private void kiekis(int i) {
TextView kiek = (TextView) findViewById(R.id.kiek);
kiek.setText(""+ i);
}
public void add (View view)
{
kieks++;
if (kieks>100) {
kieks = 100;
Toast.makeText(this, "Negalite vienu metu nusipirkti daugiau nei 100 kavu", Toast.LENGTH_SHORT).show();
}
kiekis(kieks);
}
public void reset(View view)
{
kieks=1;
kiekis(kieks);
}
public void minus (View view)
{
kieks=kieks-1;
if(kieks<1) {
kieks = 1;
Toast.makeText(this, "Turite uzsisakyti bent 1 kava", Toast.LENGTH_SHORT).show();
}
kiekis(kieks);
}
public int kainosSkaiciavimas (int kieks)
{
int a=0,b=0;
if (sokolada)
a=2;
if (grietinele)
b=1;
return kieks*(5+a+b);
}
public String uzsakymoPadarymas ()
{ grietinele=ar();
sokolada = arsokoladas();
k=kainosSkaiciavimas(kieks);
String vardass=vardas();
String ats;
ats=getString(R.string.uzsakovo_vardas, vardass)+"\n";
ats+=getString(R.string.gal_grietineles )+ grietinele+"\n";
ats+=getString(R.string.gal_sokolado, sokolada)+"\n";
ats+=getString(R.string.kiekii,kieks)+"\n";
ats+=getString(R.string.viso, k) + "\n";
ats+=getString(R.string.dekoju);
return ats;
}
public void uzsisakyti (View view)
{
String ats=uzsakymoPadarymas();
TextView uzsakymas=(TextView)findViewById(R.id.kn);
uzsakymas.setText(ats);
String zinute = "kelkis luzgiau";
int valanda = 8;
int minute=1;
}
public boolean ar ()
{
CheckBox ar = (CheckBox)findViewById(R.id.grietine);
boolean a= ar.isChecked();
return a;
}
public boolean arsokoladas ()
{
CheckBox sokoladas = (CheckBox)findViewById(R.id.sokoladas);
boolean soko = sokoladas.isChecked();
return soko;
}
public String vardas ()
{
EditText v =(EditText)findViewById(vardas);
String vrd = v.getText().toString();
return vrd;
}
}
XML Strings.xml代码
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="app_name">Tik Java</string>
<string name="plakta_grietinele">Plakta grietinėlė</string>
<string name="uzsakovo_vardas">Vardas: <xliff:g id="vardass" example="Justas">%s</xliff:g></string>
<string name="gal_grietineles">Ar reikes grietines: <xliff:g id="grietinele" example="true"></xliff:g></string>
<string name="gal_sokolado">Ar reikės šokolado: <xliff:g id="sokolada" example="true">%b</xliff:g></string>
<string name="kiekii">Kiekis: <xliff:g id="kieks" example="5">%q</xliff:g></string>
<string name="viso">Viso: $<xliff:g id="k" example="$25"> %d </xliff:g></string>
<string name="dekoju">Dekoju</string>
<string name="sokoladas">Šokoladas</string>
<string name="kiekis">Kiekis</string>
<string name="text_vardas">Vardas</string>
<string name="uzsakymas">Užsakymas</string>
<string name="uzsisakyti">Užsisakyti</string>
<string name="anuliuoti">Anuliuoti</string>
<string name="pagardai">Pagardai</string>
</resources>
主布局activity_justo_app.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.android.justjava.JustoApp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/text_vardas"
android:id="@+id/vardas"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/pagardai"
android:layout_marginLeft="16dp"
android:layout_marginTop="16dp"
/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="@string/plakta_grietinele"
android:paddingLeft="16dp"
android:layout_marginBottom="8dp"
android:id="@+id/grietine"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="@string/sokoladas"
android:paddingLeft="16dp"
android:layout_marginBottom="8dp"
android:id="@+id/sokoladas"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/kiekis"
android:layout_marginLeft="16dp"/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:layout_marginLeft="16dp"
android:layout_width="48dp"
android:layout_height="48dp"
android:textSize="16dp"
android:text="-"
android:textAllCaps="false"
android:onClick="minus"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="16dp"
android:layout_margin="5dp"
android:id="@+id/kiek"
/>
<Button
android:layout_width="48dp"
android:layout_height="48dp"
android:textSize="16dp"
android:text="+"
android:textAllCaps="false"
android:onClick="add" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/uzsakymas"
android:textSize="16dp"
android:layout_marginTop="8dp"
android:layout_marginLeft="16dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textSize="16dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="16dp"
android:id="@+id/kn"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/uzsisakyti"
android:textAllCaps="false"
android:onClick="uzsisakyti"
/>
<Button
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:text="@string/anuliuoti"
android:textAllCaps="false"
android:onClick="reset"
/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
最佳答案
您缺少<xliff:g id="grietinele" example="true">
和</xliff:g>
之间的某些内容
<string name="gal_grietineles">Ar reikes grietines: <xliff:g id="grietinele" example="true"></xliff:g></string>
所有其他人都在那里
关于java - getString()问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45985677/