我有一个项目列表,其中每个项目都包含产品价格,现在我想根据用户输入过滤我的arraylist
我接受最低和最高价格范围,现在我想显示仅在这些价格范围内的记录.
我正在使用btnSearch过滤列表,以显示两个值之间的记录,就像我想要显示那些在这两个值内的记录;
20000至50000
btnSearch.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
editMin.getText().toString();
editMax.getText().toString();
}
});
Run Code Online (Sandbox Code Playgroud)
我使用下面的代码来过滤基于高价到低价范围的记录,为此我使用下面的代码:
btnHTL.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Collections.sort(arrayList, new Comparator<Home>() {
@Override
public int compare(Home arg1, Home arg2) {
// TODO Auto-generated method stub
Integer obj1 = new Integer(arg1.getPrice().replace(",", ""));
Integer obj2 = new Integer(arg2.getPrice().replace(",", ""));
return (obj2).compareTo(obj1);
}
});
for (int i = 0; i < arrayList.size(); i++) { …Run Code Online (Sandbox Code Playgroud) 我正在使用本教程:http: //manishkpr.webheavens.com/android-viewpager-as-image-slide-gallery-swipe-gallery/
在这里他使用了可绘制的图像,但现在我想使用服务器图像
ImageAdapter.java:
public class ImageAdapter extends PagerAdapter {
Context context;
private int[] GalImages = new int[] {
R.drawable.one,
R.drawable.two,
R.drawable.three
};
ImageAdapter(Context context){
this.context=context;
}
@Override
public int getCount() {
return GalImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
int padding = context.getResources().getDimensionPixelSize(R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(GalImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
} …Run Code Online (Sandbox Code Playgroud) 每当我在横向模式下使用我的相机获取纵向视图时,我为纵向和横向模式准备了两种不同的布局.
就像我仍然在纵向模式下预览一样无论我在风景或肖像模式下使用相机,但是一旦我删除了这一行: mCamera.setDisplayOrientation(90); 我正在横向模式下预览,要么我在风景中使用相机,要么在纵向模式下使用相机
PreviewSurface.java:-
public class PreviewSurface extends SurfaceView implements
SurfaceHolder.Callback {
public static final String LOG_TAG = "CameraPreview";
private SurfaceHolder mSurfaceHolder;
private Camera mCamera;
// Constructor that obtains context and camera
@SuppressWarnings("deprecation")
public PreviewSurface(Context context, Camera camera) {
super(context);
this.mCamera = camera;
this.mSurfaceHolder = this.getHolder();
this.mSurfaceHolder.addCallback(this);
this.mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
this.mSurfaceHolder.setFixedSize(100, 100);
}
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
try {
mCamera.setPreviewDisplay(surfaceHolder);
mCamera.startPreview();
} catch (IOException e) {
// left blank for now
}
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) { …Run Code Online (Sandbox Code Playgroud) 编写一个程序,其中我必须显示附近的地方使用postal code这样的首先我必须geo locations通过使用用户的邮政编码(邮政编码accepted by user),然后需要显示附近的地理位置的位置
仍然我正在接收用户current location并JSON根据我使用的条件显示附近的地方,例如:显示<2英里的位置distance.
为了让current location我使用这样的东西:
GPSTracker gps;
double latitude, longitude ;
gps = new GPSTracker(LocationsActivity.this);
if(gps.canGetLocation()){
latitude = gps.getLatitude();
longitude = gps.getLongitude();
Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show();
} else {
// can't get location
// GPS or Network is not enabled
// Ask user to enable GPS/network in settings
gps.showSettingsAlert();
}
Run Code Online (Sandbox Code Playgroud)
并 …
我试图将KEY_TITLE的值从一个活动传递到另一个活动,使用点击List Item我点击的特定行标题,在我的情况下我试图传递这个值:static final String KEY_TITLE ="title"; 从OldEventActivity到OldUploadActivity但总是我得到"索引位置,如:0,1",没有得到实际的字符串为KEY_TITLE.
OldEventActivity.java:
final ArrayList<HashMap<String, String>> itemsList = new ArrayList<HashMap<String, String>>();
@Override
protected ArrayList<HashMap<String, String>> doInBackground(
String... params) {
HttpClient client = new DefaultHttpClient();
// Perform a GET request for a JSON list
HttpUriRequest request = new HttpGet(URL);
// Get the response that sends back
HttpResponse response = null;
try {
response = client.execute(request);
} catch (ClientProtocolException e1) {
// TODO Auto-generated catch block
e1.printStackTrace(); …Run Code Online (Sandbox Code Playgroud) 我试图在按钮单击时在Adapter类中获取列表项位置,但没有取得任何成功
首先,我必须获取tapped list项,然后想要删除该行
得到这样的东西: D/strPosition::-(1922): com.and.field.Transport@b3ddf5c0
使用以下代码:
viewHolder.btnDelete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View v) {
strPosition = arrayList.get(position).toString();
Log.d("strPosition::-", strPosition);
// and then want to delete that row using tapped position
strName = arrayList.get(position).getName().toString();
}
});
Run Code Online (Sandbox Code Playgroud) android android-arrayadapter android-listview custom-adapter
我正进入(状态
Incompatible Types. Required java.lang.String Found int
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的:
private String[] items = {R.string.name_1, R.string.name_2};
Run Code Online (Sandbox Code Playgroud)
然后我想做这样的事情:
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
strName = items[which];
if(strName.equalsIgnoreCase(R.string.name_1))
{
// call activity
}
....
}
Run Code Online (Sandbox Code Playgroud)
根据@Eran的建议更新
private String[] items = {
getResources().getString(R.string.name_1),
getResources().getString(R.string.name_2)
};
builder.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
strName = items[which];
if(strName.equalsIgnoreCase(getResources().getString(R.string.name_1)))
{
// call activity
}
.......
}
Run Code Online (Sandbox Code Playgroud)
仍然面临如下所示的问题,仅供参考我不使用英语作为字符串
日志说: …
我有这样的字符串:
String strDateTimeStamp = "2016-02-29 18:31:51";
Run Code Online (Sandbox Code Playgroud)
现在我想提取它以获得以下格式的结果:
String strYear = "2016";
String strMonth = "02";
String strDate = "29";
String strHour = "18";
String strMinute = "31";
String strSecond = "51";
Run Code Online (Sandbox Code Playgroud) 如何在SharedPreferences中保存TextView值,请参阅下面的代码,让我知道如何存储到SharedPreferences并在onCreate中检索(..)
我的代码看起来像这样:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
txtOperative = (TextView) findViewById(R.id.currentOperative);
txtEvent = (TextView) findViewById(R.id.currentEvent);
intent = getIntent();
strEventName = intent.getStringExtra("eventName");
strOperativeName = intent.getStringExtra("operativeName");
txtEvent.setText(strEventName);
txtOperative.setText(strOperativeName);
}
Run Code Online (Sandbox Code Playgroud)
每当用户返回此活动时,我都想在TextViews中始终显示这些值
我仍然得到如下文件名:
B-13-4-006.jpg
和
B-5-7-008.jpg
但是现在我希望将0显示为前缀,如果值小于<9,则原样想要以双数字显示值,请参阅下面的代码使用文件名
"B-" + // prefix
LoginActivity.strEventID + "-" + // eventID
LoginActivity.strOperativeID + "-" + // operativeID
getNextNumber() + // counter
".jpg"
Run Code Online (Sandbox Code Playgroud)
但我要求,文件名应如下所示:
B-13-04-006.jpg
和
B-05-07-008.jpg
我想每当用户点击按钮时就增加 int 变量的值,但现在该值仅增加一次。
这就是我用来增加变量值的方法p。
@Override
public void onClick(View v) {
int p = 1;
if (p == 9) {
Toast.makeText(context, "You have reached to maximum number", Toast.LENGTH_LONG).show();
} else {
p = p + 1;
holder.textViewQuantity.setText("" + p);
}
}
Run Code Online (Sandbox Code Playgroud) android ×10
java ×5
arraylist ×1
camera ×1
date ×1
extract ×1
geolocation ×1
increment ×1
json ×1
postal-code ×1
string ×1
surfaceview ×1