我正在尝试编写一些引用bool.xml文件的代码,并引用bool中的当前值.
<bool name="enableQAurl">true</bool>
Run Code Online (Sandbox Code Playgroud)
有了这个我希望能够在代码中引用它,所以如果它设置为True它会做一些事情,如果是false则做其他事情.只是一个简单的If和else语句.
任何代码参考或反馈都非常感谢.
这是这个线程的延续:
在strings.xml中本地化字符串会产生NullPointerException
在经历并实现该线程中提供的解决方案之后出现此问题.提供的解决方案适用于以下情况:
loading = (TextView)findViewById(R.id.loading);
loading.setText(R.string.loading);
Run Code Online (Sandbox Code Playgroud)
这不适用于以下情况:
exodus.add(new Question(R.string.a, R.string.b, R.string.c, R.string.d, 0, R.string.e, -1, R.string.f));
Run Code Online (Sandbox Code Playgroud)
错误是The constructor Question(int, int, int, int, int, int, int, int) is undefined
.问题的构造函数应该是Question(String, String, String, String, int, String, int, String)
这些:
R.string.X
Run Code Online (Sandbox Code Playgroud)
以int而不是字符串返回.
我该怎么做才能解决这个问题?而且,如果你知道,为什么这个方法用于设置TextView
s的文本而不是对象中的参数?
我目前正在使用databinding
我的Android应用程序项目.我想error
在我的CustomTextView
from 上设置消息,R.string.txtOldPassWordError
并从另一个叫做的类中设置它ViewModelClass
.
这是我的XML代码
<com.horseproject.widget.CustomEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginTop="@dimen/dp_20"
android:drawablePadding="@dimen/dp_10"
android:hint="@string/enter_old_password"
android:inputType="textPassword"
android:lines="1"
android:text="@={ChangePasswordVM.userOldPassword}"
android:textColorHint="@color/gray_text"
app:drawableLeftCompat="@drawable/ic_password_lock"
app:drawableTintCompat="@color/gray_app"
app:error="@{ChangePasswordVM.userOldPasswordError}" />
Run Code Online (Sandbox Code Playgroud)
这是ViewModelClass.java
public class ChangePasswordViewModel extends BaseObservable {
public ObservableField<String> userOldPassword = new ObservableField<>("");
public void userPasswordChange() {
if ((TextUtils.isEmpty(userOldPassword.get()))) {
userOldPasswordError.set("Please enter your old password");
return;
} else if (userOldPassword.get().length() <= 5) {
userOldPasswordError.set("Password should contain minimum 6 characters");
return;
} else {
userOldPasswordError.set(null);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是来自的字符串 strings.xml
<string name="select">Please Enter …
Run Code Online (Sandbox Code Playgroud) 可能重复作为底部链接。对于我要提出的特定问题或想获得更快的答案,请参阅问题中的答案。否则,请转到以下链接。
================================================== =========================我的问题:
我问这个问题,即使可能有重复项,但对我没有用。
我正在尝试访问
strings.xml
在AlertDialog中,但我似乎做不到。我说过
.setTitle(@ string / AlertTitle)
在下面的代码中,但没有成功,并给出了一个错误。有没有可能从AlertDialog获取字符串的方法,还是不可能?
下面的代码。
这是AlertMainActivity.java
AlertDialog dialog = new AlertDialog.Builder(this)
.setTitle("Add a New Task") //AlertTitle
.setMessage("What do you want to do next?") //AlertMessage
.setView(taskEditText)
.setPositiveButton("Add", new DialogInterface.OnClickListener() //Add {
...
.setNegativeButton("Cancel", null) //Cancel
...
}
Run Code Online (Sandbox Code Playgroud)
和strings.xml
<string name="AlertTitle">Add a New Task</string>
<string name="AlertMessage">What do you want to do next?</string>
<string name="Add">Add</string>
<string name="Cancel">Cancel</string>
Run Code Online (Sandbox Code Playgroud)
谢谢!
作为练习,我正在建立一个日历。以下是我的代码的一小部分。我有一个class
MyCalendar
是extends Activity.
该活动将被链接到其布局包括七个XML文件TextView
s的id
小号R.id.day0
通R.id.day6
。
如果从转换String
为int
,则Activity的findViewById()
方法是否可以识别int
这些id
s 的版本?
String Days [] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
TextView dayViews [];
private void populateViews (){
for (int counter = 0; counter < Days.length; counter++){
int ID = Integer.parseInt("R.id.day"+counter);
dayViews [counter] = (TextView) findViewById(ID);
dayViews[counter].setText(Days[counter]);
}
Run Code Online (Sandbox Code Playgroud) 我现在尝试调用资源(在我的应用程序中它们是 mp3 文件和图像)。对于 mp3 文件部分,我的代码是这样的(显然不起作用!)
if(i==1)
{
hoho= MediaPlayer.create(getApplicationContext(), R.raw.univ_day1);
hoho.start();
}
else if (i==2)
{
hoho= MediaPlayer.create(getApplicationContext(), R.raw.univ_day2);
hoho.start();
}
Run Code Online (Sandbox Code Playgroud)
...
在我的应用程序中,应用程序内有数百个 mp3 文件。所以我想做的就是将代码简要总结为这样的内容。
hoho=MediaPlayer.crate(getApplicationContet(), R.raw.univ_day+"i"); //This also looks really awkward.
Run Code Online (Sandbox Code Playgroud)
如果我知道如何像上面那样写下代码就好了。如何处理原始文件的名称和“R.raw ....”之类的形式?如果我能做到,那么我也可以对图像资源应用类似的方法。
我的strings.xml中有很多字符串,我想将Extra放到另一个意图中,即从strings.xml中获取我检索到的数据,但是当应用程序运行时,它无法获得我想要的结果
发件人活动
Intent moveIntent = new Intent(MainActivity.this, informationActivity.class);
moveIntent.putExtra(informationActivity.data1, "@string/THISISMYSTRINGFROMSTRINGSXML");
startActivity(moveIntent);
Run Code Online (Sandbox Code Playgroud)
收件人意图
String data1= getIntent().getStringExtra(data1);
text1.setText(data1);
Run Code Online (Sandbox Code Playgroud)
我得到的结果是
@string/THISISMYSTRINGFROMSTRINGSXML
Run Code Online (Sandbox Code Playgroud)
我认为通过提供上述数据将使出现的文本取自strings.xml文件,显然不是,有没有办法解决它?