我正在注册这样的偏好更改监听器(在onCreate()我的主要活动中):
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(
SharedPreferences prefs, String key) {
System.out.println(key);
}
});
Run Code Online (Sandbox Code Playgroud)
麻烦的是,听众并不总是被召唤.它最初几次更改首选项,然后在卸载并重新安装应用程序之前不再调用它.没有重新启动应用程序似乎修复它.
我发现一个邮件列表线程报告了同样的问题,但没有人真正回答他.我究竟做错了什么?
我正在使用DialogFragments做很多事情:从列表中选择项目,输入文本.
将值(即字符串或列表中的项)返回给调用活动/片段的最佳方法是什么?
目前我正在制作调用活动实现DismissListener,并为DialogFragment提供对活动的引用.然后,Dialog调用OnDimissactivity中的方法,activity将从DialogFragment对象中获取结果.非常混乱,因为DialogFragment失去对活动的引用,它不能用于配置更改(方向更改).
谢谢你的帮助.
我正在使用Android Studio 0.2.3,当正常打开活动布局时,预览应该出现在右侧,这样我就可以在文本和设计模式之间切换,这将再次显示布局的预览.
但是当我处于文本模式或设计模式时,右侧都没有显示预览.我刚收到错误rendering problems...
当我编译所有内容并在我的设备上安装应用程序时,它可以正常运行.对于开发和试验布局,如果我可以使预览工作仍然会很好.
我也尝试在工作室中的不同设备之间切换,但没有成功.
有谁知道如何解决这个问题?
Java中的ArrayList或List声明质疑并回答了如何声明一个空,ArrayList但是如何声明一个带有值的ArrayList?
我尝试了以下但它返回语法错误:
import java.io.IOException;
import java.util.ArrayList;
public class test {
public static void main(String[] args) throws IOException {
ArrayList<String> x = new ArrayList<String>();
x = ['xyz', 'abc'];
}
}
Run Code Online (Sandbox Code Playgroud) 我是Android新手,我正在尝试以编程方式创建一个微调器并用数组中的数据提供它,但是Eclipse给了我一个我无法处理的警告.
这是我得到的:
这个ArrayList包含应该在微调器中的元素(稍后从文件中填充):
ArrayList<String> spinnerArray = new ArrayList<String>();
这是我在一个应该创建微调器的网站上找到的代码:
Spinner spinner = new Spinner(this);
ArrayAdapter spinnerArrayAdapter = new ArrayAdapter(this,
android.R.layout.simple_spinner_dropdown_item,
spinnerArray);
spinner.setAdapter(spinnerArrayAdapter);
Run Code Online (Sandbox Code Playgroud)
现在第二行(ArrayAdapter ...)在Eclipse中给我一个警告说"ArrayAdapter is a raw type... References to generic type ArrayAdapter<T> should be parameterized",我不知道如何解决这个问题(或者首先意味着什么:)).
这只是一个警告,应用程序似乎运行良好,但我仍然想了解什么是错误并修复它.任何提示都表示赞赏.
问候,Select0r
我有2个活动,Activity1和Activity2.
在Activity1我有一个按钮和TextView的.单击按钮时,将启动Activity2.
在Activity2我的EditText中.
我想显示从检索到的数据的EditText在活性2中的TextView在活性1当从压回活性2.
有人可以帮助我使用代码来完成这项工作吗?
我在布局中添加了RatingBar:
<RatingBar
android:id="@+id/ratingbar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:stepSize="1.0"
/>
Run Code Online (Sandbox Code Playgroud)
但评级栏的默认样式太大.
我试着通过添加android风格来改变它:style="?android:attr/ratingBarStyleSmall"
但结果太小,无法使用此属性设置费率.
我该怎么办?
我正在尝试刷新特定项目RecyclerView.
故事:每当用户点击项目时,它都会显示AlertDialog.用户可以通过单击确定按钮键入一些文本.我想在这个项目中显示这个文本并显示不可见ImageView- 在XML和适配器中声明ViewHolder-
我在AlertDialogPositive Button中使用此函数来更新项目:
private void updateListItem(int position) {
View view = layoutManager.findViewByPosition(position);
ImageView medicineSelected = (ImageView) view.findViewById(R.id.medicine_selected);
medicineSelected.setVisibility(View.VISIBLE);
TextView orderQuantity = (TextView) view.findViewById(R.id.order_quantity);
orderQuantity.setVisibility(View.VISIBLE);
orderQuantity.setText(quantity + " packet added!");
medicinesArrayAdapter.notifyItemChanged(position);
}
Run Code Online (Sandbox Code Playgroud)
但是这段代码不仅改变了传递位置的itemView,还改变了其他一些itemView(s)!
如何通过单击更改特定的itemView?
android android-adapter recycler-adapter android-recyclerview
我想把一个听众放在一个CheckBox.我查找信息,它是这样的:
satView = (CheckBox)findViewById(R.id.sateliteCheckBox);
satView.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (isChecked){
// perform logic
}
}
});
Run Code Online (Sandbox Code Playgroud)
问题是Eclipse认为它是一个OnCheckedChangeListenerfor a RadioGroup并且它不起作用.我怎样才能解决这个问题?
有谁知道调用Parcelable的这种方法的位置/时间?
@Override
public int describeContents() {
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它必须被覆盖.但是,我应该考虑做一些有用的事情吗?