我在适配器内有一个按钮进入图库:
MyAdapter extends
RecyclerView.Adapter<RecyclerView.ViewHolder> {
...
onClic..{
Intent intent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
intent.setType("image/*");
((Activity) context).startActivityForResult(
Intent.createChooser(intent, "Select File"),
SELECT_FILE);}
....
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
}
}
..
}
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用从库中选择的图像更新ImageView,但为了做到这一点,我必须使用onActivityResult并且编译器正在抱怨method onActivityResult is never used和cannot resolve method onActivityResult.
我怎么能这样做?
我正在关注本指南https://realpython.com/blog/python/setting-up-a-simple-ocr-server/并到达了我运行 cli.py 的部分,python flask_server/cli.py但我得到了
python cli.py
Traceback (most recent call last):
File "cli.py", line 3, in <module>
import pytesseract
ImportError: No module named pytesseract
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我还看到我有多个版本的python。我安装了带有最新更新的 linux-kali。
别的东西:他运行这样的命令python flask_server/cli.py——flask_server 在哪里?我只是简单地运行它python cli.py(我在创建文件的某个目录中)。
我一直在关注此页面,将内容添加到Endless Scroll RecyclerView中,底部带有ProgressBar,我认为我做对了所有事情,但是由于某种原因,我回到了这一行onLoadMoreListener.onLoadMore();
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.os.Handler.postDelayed(java.lang.Runnable, long)' on a null object reference
Run Code Online (Sandbox Code Playgroud)
我知道有很多有关空指针错误的文章,但是该行在if语句中,如果为空则不应执行。
if (onLoadMoreListener != null) {
onLoadMoreListener.onLoadMore();
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样呢?我应该发布什么代码来帮助解决问题?
mAdapter.setOnLoadMoreListener(new MyAdapter.OnLoadMoreListener() {
@Override
public void onLoadMore() {
//add progress item
myDataset.add(null);
mAdapter.notifyItemInserted(myDataset.size() - 1);
handler.postDelayed(new Runnable() {
@Override
public void run() {
//remove progress item
myDataset.remove(myDataset.size() - 1);
mAdapter.notifyItemRemoved(myDataset.size());
MyRecyclerItems gridItem= new MyRecyclerItems();
gridItem.setAbout("Test");
gridItem.setEmail("tesssst@gmail.com");
myDataset.add(0,gridItem);
mAdapter.notifyItemInserted(myDataset.size());
mAdapter.setLoaded();
}
}, 2000);
System.out.println("load");
}
});
Run Code Online (Sandbox Code Playgroud) 我正在开发登录/注销系统。我没有使用设计,而是创建了一个活动记录用户模型并使用会话来记住用户是否登录。一切正常,直到我application_controller.rb在登录前和登录后添加这些行以具有布局。
layout :set_layout
def set_layout
if session[:current_user_id]
'afterlogin'
else
'application'
end
end
Run Code Online (Sandbox Code Playgroud)
现在,在我登录并cancancan在 html 页面的某处使用后,我得到undefined local variable or method 'current_user'. 我认为我必须添加一个current_user方法,但我不知道在哪里以及如何定义它。
编辑:我在登录使用的另一个类中已经有了类似的东西:
class Admin::ApplicationController < ApplicationController
before_action :authorize
def authorize
begin
@current_user ||= User.find(session[:current_user_id]) if session[:current_user_id]
rescue ActiveRecord::RecordNotFound
session.destroy
redirect_to '/login',alert: 'Please login'
end
end
end
Run Code Online (Sandbox Code Playgroud)
添加该方法后,我应该修改它吗?
过去几个月我一直在 node 中进行开发以尝试理解该框架,现在我实际上将尝试为多个设备制作一个应用程序。
我想使用一个节点项目作为 api,它将处理所有 post 和 get 请求。
在另一个节点项目中,我将有一个 React Web 界面,通过 ajax 和 socket.io 与节点 api 进行通信。
在移动 android/ios 或 cordova 中,我会让移动界面按上述方式进行通信。
现在我已经解释了我的问题的背景,我将描述我的问题。
现在我有一个节点项目,它使用 bcrypt 来加密注册和登录密码。我还使用通行证来建立会话和快速消息。
router.post('/login',
passport.authenticate('local', {successRedirect:'/', failureRedirect:'/users/login',failureFlash: true}),
function(req, res) {
res.redirect('/');
});
passport.use(new LocalStrategy(
function(username, password, done) {
db_functions.getUserByEmail(username,function(error, results) {
if (error) throw error;
bcrypt.compare(password, results[0].password, function(err, res) {
if(res === true){
return done(null,results[0])
} else {
return done(null, false, {message: 'Invalid password'})
}
});
})
}));
passport.serializeUser(function(user, done) {
done(null, user.id);
}); …Run Code Online (Sandbox Code Playgroud) 我正在开发 udacity 教程中的阳光应用程序。我在第 2 课的某个地方。当我尝试运行应用程序的某个功能时,出现以下错误:
04-29 12:21:13.311 22025-22424/name.company.sunshine.app E/FetchWeatherTask? Error
java.net.MalformedURLException: Protocol not found: "http://api.openweathermap.org/data/2.5/forecast/daily?q=94043&mode=json&units=metric&cnt=7
at java.net.URL.<init>(URL.java:176)
at java.net.URL.<init>(URL.java:125)
at name.company.sunshine.app.ForecastFragment$FetchWeatherTask.doInBackground(ForecastFragment.java:144)
at name.company.sunshine.app.ForecastFragment$FetchWeatherTask.doInBackground(ForecastFragment.java:101)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
04-29 12:21:13.321 22025-22025/name.company.sunshine.app D/AbsListView? unregisterIRListener() is called
04-29 12:21:13.321 22025-22025/name.company.sunshine.app E/ViewRootImpl? sendUserActionEvent() mView == null
Run Code Online (Sandbox Code Playgroud)
第 144 行是
URL url = new URL(builtUri.toString());
Run Code Online (Sandbox Code Playgroud)
如果您需要,我将提供整个课程。
还有其他东西,我在清单中有这个
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
但是当我安装该应用程序时,它从不征求许可。
这是文件:
package name.company.sunshine.app;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.format.Time;
import android.util.Log;
import …Run Code Online (Sandbox Code Playgroud) 我有一个异步任务,最终创建参数电子邮件,关于.异步任务位于onCreate方法中,此CustomListAdapter也是如此.我想在asyncTask中的onCreate中移动CustomListAdapter.onPostExecute我的问题是这this意味着应用程序的上下文.当我移动它时,onPostExecute它不再具有上下文.我试图用它替换它getApplicationContext(),activityName.this.getApplicationContext但它不起作用,因为它期望应用程序的上下文.我发现这种静态方式可以在Android上获得"上下文"?但由于某种原因,我无法在清单中定义名称.我可以在asyncTask的onPostExecute方法中使用哪种获取应用程序上下文的方法?或者我应该以上下文作为参数来制作Asynck任务?
CustomListAdapter adapter=new CustomListAdapter(this, email,about);
list=(ListView)findViewById(R.id.list);
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
String Slecteditem= email.get(position);
Toast.makeText(getApplicationContext(), Slecteditem, Toast.LENGTH_SHORT).show();
}
});
Run Code Online (Sandbox Code Playgroud) 我有一个由Activity实例化的片段.我遇到的问题是我在片段中有另一个类,它将一个参数作为一个Activity上下文.
public class LocationQueries {
Activity context;
private static int REQUEST_CODE_RECOVER_PLAY_SERVICES = 200;
public LocationQueries(Activity context) {
this.context = context;
}
public boolean checkGooglePlayServices() {
int checkGooglePlayServices = GooglePlayServicesUtil
.isGooglePlayServicesAvailable(context);
if (checkGooglePlayServices != ConnectionResult.SUCCESS) {
/*
* google play services is missing or update is required
* return code could be
* SUCCESS,
* SERVICE_MISSING, SERVICE_VERSION_UPDATE_REQUIRED,
* SERVICE_DISABLED, SERVICE_INVALID.
*/
GooglePlayServicesUtil.getErrorDialog(checkGooglePlayServices,
context, REQUEST_CODE_RECOVER_PLAY_SERVICES).show();
return false;
}
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样在我的片段中实例化该类
private LocationQueries locationQueries = new LocationQueries(getActivity());
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用时 locationQueries.checkGooglePlayServices();
我得到 …
我有一个SimpleDraweeView位于回收站内的。
回收商:
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)
简单绘图视图:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/feedImage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
/>
Run Code Online (Sandbox Code Playgroud)
我尝试了很多ratio和scaleType,但我似乎无法得到能够显示完整高度的那个(仅显示90%)。宽度很好,但我似乎无法正确获得高度。哪种组合才是获得正确相位的正确组合?(如脸书)
当使用dialogFragment时,我在片段顶部得到一个白色空格矩形而不知道原因.
我的DialogFragment:
public class SelectDialogFragment extends DialogFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//inflate layout with recycler view
View v = inflater.inflate(R.layout.select_frag, container, false);
return v;
}
}
Run Code Online (Sandbox Code Playgroud)
select_frag.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:orientation="vertical"
android:background="#000"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="New Text"
android:id="@+id/textView" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud) 在模型日历中删除/创建记录时出现问题,但仅限于我使用时flash[:alert] = "Notification deleted".它只发生在这个模型中.基本上如果我使用
def destroy
if @calendar.destroy
redirect_to calendars_path
else
redirect_to :back, :flash => { :error => "Failed to delete!" }
end
end
Run Code Online (Sandbox Code Playgroud)
一切都很好,但如果我flash[:alert] = "Notification deleted"在redirect_to这之后添加:
def destroy
if @calendar.destroy
redirect_to calendars_path, flash[:alert] = "Notification deleted"
else
redirect_to :back, :flash => { :error => "Failed to delete!" }
end
end
Run Code Online (Sandbox Code Playgroud)
我得到 TypeError in CalendarsController#destroy.我在许多控制器中使用flash [:alert]并且它正在工作,但是这个有错误.
我不知道如何进一步跟踪错误.