- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Android eclipse 中当我想使用非静态方法“getSystemService”时,它显示错误:
Cannot make a static reference to the non-static method getContext() from the type ArrayAdapter
ArrayAddapter.java :
package ir.redreactor.app.Com.NovinEr;
import java.util.ArrayList;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class AdapterNote extends ArrayAdapter<StructNote> {
public AdapterNote(ArrayList<StructNote> array) {
super(G.context, R.layout.adapter_notes, array);
}
private static class ViewHolder {
public ViewGroup LayoutRt;
public TextView txtTitle;
public TextView txtSort;
public TextView txtTableName;
public TextView txtID;
public TextView txtpos;
public TextView txtDetail;
public ViewHolder(View view) {
txtTitle = (TextView) view.findViewById(R.id.txtTitleAN);
txtSort = (TextView) view.findViewById(R.id.txtSortAN);
txtTableName = (TextView) view.findViewById(R.id.txtTableNameAN);
txtID = (TextView) view.findViewById(R.id.txtIDAN);
txtpos = (TextView) view.findViewById(R.id.txtpos);
txtDetail = (TextView) view.findViewById(R.id.txtDetailAN);
LayoutRt = (ViewGroup) view.findViewById(R.id.layout_Rt);
}
private void copy(String strdata) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getContext().getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(strdata);
}
public void fill(ArrayAdapter<StructNote> Adapter, StructNote Item, final int position) {
txtTitle.setText(Item.title);
txtDetail.setText(Item.detail);
txtSort.setText(Item.Sort.toString());
txtTableName.setText(Item.nameOfTable);
txtID.setText(Item.intID.toString());
txtpos.setText("" + position);
LayoutRt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
copy(txtTitle.getText().toString() + "\n" + txtDetail.getText().toString());
}
});
}
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
StructNote item = getItem(position);
final ViewHolder holder;
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_notes, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
结构说明.java :
package ir.redreactor.app.Com.NovinEr;
import android.app.Activity;
import android.content.Context;
public class StructNote {
public String nameOfTable;
public Integer Sort;
public Integer intID;
public Boolean Favorite;
public String title;
public String detail;
G.java 是全局类G.java 类:
public class G extends Application {
// Creating Context
public static Context context;
// Creating Log
public static String LOG_TAG = "RR1";
public static String LOG_ERR = "NVR";
//Creating Current Activity Finder
public static Activity currentActivity;
@Override
public void onCreate() {
super.onCreate();
context = this.getApplicationContext();
}
}
当我将“getSystemService”与“getContext()”一起使用时,它显示以下错误:AdapterNote.ViewHolder 类型未定义方法 getSystemService(String)
--------------------------------编辑
谢谢你 Raghunandan所以 AdapterNote.java 将是:
package ir.redreactor.app.Com.NovinEr;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class AdapterNote extends ArrayAdapter<StructNote> {
public LayoutInflater mInflater;
public static Context context;
public AdapterNote(ArrayList<StructNote> array, Context context) {
super(context, R.layout.adapter_notes, array);
mInflater = LayoutInflater.from(context);
this.context = context;
}
private static class ViewHolder {
public ViewGroup LayoutRt;
public TextView txtTitle;
public TextView txtSort;
public TextView txtTableName;
public TextView txtID;
public TextView txtpos;
public TextView txtDetail;
public ViewHolder(View view) {
txtTitle = (TextView) view.findViewById(R.id.txtTitleAN);
txtSort = (TextView) view.findViewById(R.id.txtSortAN);
txtTableName = (TextView) view.findViewById(R.id.txtTableNameAN);
txtID = (TextView) view.findViewById(R.id.txtIDAN);
txtpos = (TextView) view.findViewById(R.id.txtpos);
txtDetail = (TextView) view.findViewById(R.id.txtDetailAN);
LayoutRt = (ViewGroup) view.findViewById(R.id.layout_Rt);
}
private void copy(String strdata) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(strdata);
}
public void fill(ArrayAdapter<StructNote> Adapter, StructNote Item, final int position) {
txtTitle.setText(Item.title);
txtDetail.setText(Item.detail);
txtSort.setText(Item.Sort.toString());
txtTableName.setText(Item.nameOfTable);
txtID.setText(Item.intID.toString());
txtpos.setText("" + position);
LayoutRt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
copy(txtTitle.getText().toString() + "\n" + txtDetail.getText().toString());
}
});
}
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
StructNote item = getItem(position);
final ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.adapter_notes, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
}
最佳答案
将上下文传递给适配器构造函数
new AdapterNote(ArrayList<StructNote> array,ActivityName.this)
然后
LayoutInfalter mInflater;
Context context;
public AdapterNote(ArrayList<StructNote> array,Context context) {
super(context, R.layout.adapter_notes, array);
mInfalter = LayoutInfalter.from(context);
this.context =context;
}
然后
convertView = mInflater.inflate(R.layout.adapter_notes, parent, false);
然后
android.text.ClipboardManager clipboard = (android.text.ClipboardManager)context.getSystemService(Context.CLIPBOARD_SERVICE);
关于android - 如何在自定义适配器中使用非静态 How “getSystemService”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23196859/
我正在尝试编写一个服务来获取 Gear Live 上的心率,按照这里的问题 Get Heart Rate from "Sensor" Samsung Gear Live 如果我把这部分放在 L
所以我跟随this tutorial ,我被困住了。在 Eclipse 中,我收到一条错误消息,指出“UserItemAdapter 类型未定义方法 getSystemService(String)”
在 Android eclipse 中当我想使用非静态方法“getSystemService”时,它显示错误: Cannot make a static reference to the non-st
我已按照本教程获取我的 ListView 填充数据 -- http://android.amberfog.com/?p=296 . 但它只有在我像教程那样子类化我的自定义列表适配器 (MyCustom
如果我连接到 WLAN,以下行将不会导致空指针异常: ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.C
我遵循了如何制作下载 .pdf 文件的应用程序的教程。 代码如下: protected void onCreate(Bundle savedInstanceState) { super.onC
我需要在自定义微调器中使用“getSystemService”,所以自定义微调器会扩展 getSystemService Will Use To Copy Text To Clip Board is
我试图将 onClickListener 添加到 RecyclerView 中的一个按钮,该按钮将复制一个字符串,但它说 getSystemService(CLIPBOARD_SERVICE) 不可用
乍一看下面的代码 mLocationManager对象在 onCreate(...) 之后应该超出范围已完成,预期的行为是 onLocationChanged在对象被垃圾回收之前,永远不会被调用或调用
我想测试一些关于USB设备的东西,我尝试编写一个小程序,我确信这是错误的,但这不是这个问题的重点。我确信我的导入没问题,但 Android Studio 拒绝构建此类,并出现有关 GetSystemS
现在已经为此苦苦挣扎了很长一段时间,足以让此处的用户实际上在堆栈上溢出。我们正在开发一个 android 应用程序,我想测试一个 Activity 类中的方法。我以前做过一些单元测试,但从来没有针对
此方法是否检查实际连接到互联网或设备是否连接到无线网络。 我很想知道,如果设备已连接到路由器,但路由器未连接到网络或已关闭,它是否会返回 true。 我的代码:- private boolean is
当我使用“getSystemService”时,我遇到了这个错误The method getSystemService(String) is undefined for the type WebApp
所以我现在只是试图在我的 getView 函数中膨胀一个 View ,而 getContext() 出于某种原因说它是未定义的.. package com.MTSUAndroid; import co
Context.getSystemService 的文档州 Returns: The service or null if the name does not exist. 接受的名称列表列为 AC
getSystemService 的文档建议不要在各种不同的上下文之间共享服务对象。 对于单个上下文,是通过将服务对象分配给 onCreate() 中的实例字段来缓存服务对象,还是应该在使用时获取?惯
context.getSystemService() 是一个昂贵的调用吗? 即我已经构建了一个小 http 网络库(我知道还有其他可用的 http 网络库),它使用 ConnectivityManag
我遇到了这个问题:getSystemService 定义在 Context 类中,所以我假设它在 context.getSystemService 时被调用。我无法理解以下代码,其中 Broadcas
我怎样才能像下面的代码那样在 fragment 类中使用 getSystemService final EditText input = new EditText(getContext()); Inp
我的问题是,在我的 MainActivity 的 onCreate() 方法中,我正在创建新的 Thread 对象,我想将对 this Activity 的引用传递给该对象,然后在该线程中使用它来调用
我是一名优秀的程序员,十分优秀!