بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
کرش لیست ویوی داخل tabhost (توی اندروید 2.2 درست کار میکنه ولی توی 4 نه!)
0
0
از یه handler استفاده کن احتمال قوی مشکل حل میشه. آموزش handler هم تو بحث thread ها موجوده (12 سال پیش)
0
0
من handler گذاشتم ولی بازم کار نمیکنه. احتمال 100% ایراد از handlerی هست که گذاشتم. یعنی نمیدونستم کجا بذارمش منم گذاشتمش توی اداپتری که لیست ویو ها بهش وصلن. حالا لیست ویو هایی که کار میکردن هم کرش میکنن (12 سال پیش)
0
0
من نمیدونم کدهاتون رو چطوری نوشتید ولی ظاهرا باید اون جایی که میخواید اطلاعات لیست ویو رو تغییر بدید و یا هر تغییری توی صفحه بدید، از handler استفاده کنید. (12 سال پیش)
برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال
احسان منصوری
12 سال پیش
0
0
این کل کد اداپتر منه. من handler رو گذاشتم وقتی که دکمه btnsend کلیک میشه. چون که وقتی اون دکمه کلیک میشه کرش میکنه
package com.fafile.app.visitor;
import java.util.ArrayList;
import android.database.Cursor;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class Adapterarticlelist extends ArrayAdapter {
public Adapterarticlelist(ArrayList array) {
super(G.context, R.layout.adapter_articlelist, array);
}
private static class ViewHolder {
// public ViewGroup layoutarticleroot;
public TextView txtarticlebrand;
public TextView txtarticlemodel;
public Button btnbuy;
public Button btnsend;
public EditText txtvalue;
public TextView txtselectedbuy;
public TextView txtarticletype;
public TextView txtarticleid;
public ViewHolder(View view) {
// layoutarticleroot = (ViewGroup) view.findViewById(R.id.layoutroot);
txtselectedbuy = (TextView) view.findViewById(R.id.txtselectedbuy);
txtarticletype = (TextView) view.findViewById(R.id.txtarticletype);
txtvalue = (EditText) view.findViewById(R.id.txtvalue);
txtarticlebrand = (TextView) view.findViewById(R.id.txtarticlebrand);
btnsend = (Button) view.findViewById(R.id.btnsend);
btnbuy = (Button) view.findViewById(R.id.btnbuy);
txtarticlemodel = (TextView) view.findViewById(R.id.txtarticlemodel);
txtarticleid = (TextView) view.findViewById(R.id.txtarticleid);
}
public void fill(final ArrayAdapter adapter, final StructNote item, final int position) {
txtselectedbuy.setVisibility(View.GONE);
btnsend.setVisibility(View.GONE);
txtvalue.setVisibility(View.INVISIBLE);
txtvalue.setText(item.articlevalue);
txtarticletype.setText(item.articletype);
txtarticlebrand.setText(item.articlebrand);
txtarticlemodel.setText(item.articlemodel);
txtarticleid.setText(item.articleid);
Cursor cursorArticleid = G.database.rawQuery("select * FROM article_select WHERE article_id LIKE '%" + item.articleid + "%'", null);
if (cursorArticleid != null) {
while (cursorArticleid.moveToNext()) {
String valueUserid = cursorArticleid.getString(cursorArticleid.getColumnIndex("person_id"));
String valueArticleid = cursorArticleid.getString(cursorArticleid.getColumnIndex("article_id"));
Log.i("", "valueUserid: " + valueUserid);
Log.i("", "valueArticleid: " + valueArticleid);
if (valueArticleid.equals(item.articleid) && valueUserid.equals(G.currentCustomerId)) {
txtvalue.setVisibility(View.GONE);
btnbuy.setVisibility(View.GONE);
btnsend.setVisibility(View.GONE);
txtselectedbuy.setVisibility(View.VISIBLE);
txtselectedbuy.setText("خریداری شده!");
}
}
}
btnbuy.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
txtvalue.setVisibility(View.VISIBLE);
btnbuy.setVisibility(View.GONE);
btnsend.setVisibility(View.VISIBLE);
}
});
G.handler.post(new Runnable() {
@Override
public void run() {
btnsend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (txtvalue.length() <= 0) {
Toast.makeText(G.currentActivity, "لطفا تعداد را وارد کنید", Toast.LENGTH_LONG).show();
}
else {
G.database.execSQL("INSERT INTO article_select (article_id,article_model,article_brand,article_type,article_value,person_id) VALUES ('" + item.articleid + "', '" + item.articlemodel + "','" + item.articlebrand + "','" + item.articletype + "','" + txtvalue.getText() + "','" + G.currentCustomerId + "');");
txtvalue.setVisibility(View.GONE);
btnsend.setVisibility(View.GONE);
txtselectedbuy.setVisibility(View.VISIBLE);
txtselectedbuy.setText("خریداری شده!");
}
}
});
}
});
}
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
StructNote item = getItem(position);
if (convertView == null) {
convertView = G.inflater.inflate(R.layout.adapter_articlelist, parent, false);
holder = new ViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.fill(this, item, position);
return convertView;
}
}
پاسخ به سوال
محمد حسین زاده
12 سال پیش
+2
0
یه نمونه کد برای کمتر کردن کد های تکراری با ساختار شبیه به برنامه خودت آماده کردم. بررسیش کن دانلود
کد قبلی رو با این کد مقایسه کن : لینک (12 سال پیش)
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
