我试图在Android上搜索HashMap,但遇到问题:
考虑这个例子:
HashMap<String, String> meMap=new HashMap<String, String>();
meMap.put("Color1","Red");
meMap.put("Color2","Blue");
meMap.put("Color3","Green");
meMap.put("Color4","White");
Run Code Online (Sandbox Code Playgroud)
现在我想迭代它并获得每种颜色的值,并希望在"Toast"中显示.我该如何显示它?
当我必须使用带有ListView的经典适配器时,我在ListView中更新我的数据,如下所示:
myAdapter.swapArray(data);
public swapArray(List<Data> data) {
clear();
addAll(data);
notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
我想知道RecyclerView的最佳实践是什么.因为在RecyclerView适配器,你不能做clear,并addAll在ListView控件.
所以我尝试了一下notifyDataSetChanged,但它没有用.然后我尝试在我的视图上使用swapAdapter:
List<Data> data = newData;
MyRecyclerAdapter adapter = new MyRecyclerAdapter(data);
// swapAdapter on my recyclerView (instead of a .setAdapter like with a classic listView).
recyclerViewList.swapAdapter(adapter, false);
Run Code Online (Sandbox Code Playgroud)
但是使用这个最后的解决方案,我仍然需要创建我的适配器的新实例,我觉得它不是最好的解决方案.我应该能够在没有新的情况下更改我的数据MyRecyclerAdapter.
我有一个"开放"的动画,Handler.postDelayed(Runnable, delay)用于在短暂延迟后触发"关闭"动画.但是,在打开和关闭之间的时间内,可能会有一个由点击触发的动画.
我的问题是,如何取消处理程序中的"关闭"动画?
我需要开发一个具有共享功能的应用程序.我必须分享Facebook,Twitter,电子邮件和其他服务.
我怎样才能做到这一点?网上有图书馆吗?对于iOS开发,有ShareKit,但对于Android?
谢谢 :)
我对使用感到困惑
什么时候使用这些方法?
我升级了我的android工作室..我在最新版本中发现了很多问题
虽然存在许多类似的问题,但我检查了所有答案,但没有一个对我有效!
这是编译代码时我遇到的错误:
程序类型已存在:android.support.v4.app.BackStackRecord $ Op Message {kind = ERROR,text =程序类型已存在:android.support.v4.app.BackStackRecord $ Op,sources = [未知源文件],工具命名= Optional.of(D8)}
这是我的gradle文件
项目:
// Top-level build file where you can add configuration options common to
all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url "https://jitpack.io"
}
}
}
task clean(type: Delete) { …Run Code Online (Sandbox Code Playgroud) 我在android中有一个复选框,它有以下XML:
<CheckBox
android:id="@+id/item_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="itemClicked" />
Run Code Online (Sandbox Code Playgroud)
这是我的Activity类中的onClick()方法.
public void itemClicked(View v) {
//code to check if this checkbox is checked!
}
Run Code Online (Sandbox Code Playgroud)
我知道我们可以创建一个复选框的对象并为其分配id.但是,onClick通过XML 声明方法时,是否有更好的方法来实现功能?
我在日食中得到以下警告:
视图适配器的无条件布局膨胀:应使用View Holder模式(使用传递给此方法的循环视图作为第二个参数)以实现更平滑的滚动.
上:
convertView = vi.inflate(R.layout.activity_friend_list_row, parent, false);
Run Code Online (Sandbox Code Playgroud)
我有一个实现了CheckBox的基础适配器,我添加了一个标签以使CheckBox工作.
这是代码:
public View getView(final int position, View convertView, ViewGroup parent)
{
ViewHolder mViewHolder;
mViewHolder = new ViewHolder();
LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = vi.inflate(R.layout.activity_friend_list_row, parent, false);
mViewHolder.cb = (CheckBox) convertView.findViewById(R.id.checkBox);
convertView.setTag(mViewHolder);
if (InviteFriends.isChecked[position] == true)
{
mViewHolder.cb.setChecked(true);
}
else
{
mViewHolder.cb.setChecked(false);
}
mViewHolder.cb.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean ischecked)
{
if (buttonView.isChecked())
{
InviteFriends.isChecked[position] = true;
}
else
{
InviteFriends.isChecked[position] = false;
}
}
});
TextView …Run Code Online (Sandbox Code Playgroud) 当我点击按钮时,我试图显示小吃栏视图但是当我点击按钮时它显示强制关闭错误
我在下面定义了片段类,还有错误日志.
我有片段类:
public class HomeFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
context = getActivity();
initUI(rootView);
return rootView;
}
private void initUI(View view) {
btn= (Button) view.findViewById(R.id.btnpress);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(getView(),"SnackBAr Test" , Snackbar.LENGTH_LONG).show();
}
});
}
Run Code Online (Sandbox Code Playgroud)
fragment_home.xml:
<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:id="@+id/mainrl"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:orientation="horizontal"
android:paddingBottom="40dp" >
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:Text="PLEASE …Run Code Online (Sandbox Code Playgroud) android android-fragments android-activity android-design-library android-snackbar
我需要一个Android应用程序,我需要将当前日期转换为自1970年以来的秒数.
我现在正在做的是这个.
Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
cal.set(currentDate.get(Calendar.YEAR), month, currentDate.get(Calendar.DAY_OF_MONTH), 0, 0, 0);
long timesince1970 = cal.getTime().getTime();
Run Code Online (Sandbox Code Playgroud)
另一个问题是我的应用程序需要在德国运行.因此需要将时间转换为他们的时区,然后将其转换为自1970年以来的秒数.
以上并没有给我正确的结果.