سلام دوستان یه برنامه نوشتم کدشو میزارم خواهشن اگه کسی میدونه کمک کنه برنامم آخرشه
اگه الان این برنامرو اجرا کنید کار میکنه و اطلاعاتو تو دیتابیس ذخیره میکنه ولی اگه اون اداپتر رو تو برای لیست ویو فعال کنم (تو MainActivity) لیست ویو ارور میده و از برنامه خارج میشه
اگه کسی میدونه کمک کنه
ممنون
MainActivity
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Activity {
EditText name,id;
Button save;
TextView num;
ListView list;
DatabaseManager db = new DatabaseManager(this);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText)findViewById(R.id.name);
id = (EditText)findViewById(R.id.id);
num = (TextView)findViewById(R.id.num);
save = (Button)findViewById(R.id.save);
list = (ListView)findViewById(R.id.list);
// List<String> values = db.getAllContacts();
// final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, values);
save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String names = name.getText().toString();
int ids = Integer.parseInt(id.getText().toString());
Stu stu = new Stu();
stu.ID=ids;
stu.NAME = names;
db.addstu(stu);
final int count = db.getnamecount();
num.setText(count+"");
// list.setAdapter(adapter);
}
});
}
}
DatabaseManager
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.ArrayAdapter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class DatabaseManager extends SQLiteOpenHelper {
public DatabaseManager(Context context){super(context, "database", null, 10);
}
@Override
public void onCreate(SQLiteDatabase db) {
String query =" CREATE TABLE tbl ( "+
" ID INT (0), " +
" NAME VARCHAR (20) " +
" );";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS TBL");
onCreate(db);
}
public boolean addstu (Stu stu){
boolean resalt;
try {
String query = "INSERT INTO tbl (ID,name) VALUES ("+stu.ID+",'"+stu.NAME+"')";
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL(query);
db.close();
resalt= true;
}catch (Exception ex){
resalt = false;
}
return resalt;
}
public int getnamecount(){
int resalt =0;
String query = "SELECT * FROM tbl";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(query, null);
resalt=cursor.getCount();
return resalt;
}
public List<String> getAllContacts()
{
String Query = "SELECT name FROM tbl";
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(Query, null);
List<String> notes = new ArrayList<String>();
if (cursor.moveToFirst())
{
do {
String note = cursor.getString(1);
// notes = new ArrayList<String>(Arrays.asList(note));
notes.add(note);
}
while (cursor.moveToNext());
}
return notes;
}
}
activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="vertical" >
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/name"
android:hint="NAME" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/id"
android:layout_gravity="right"
android:hint="ID" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="save"
android:id="@+id/save"
android:layout_gravity="center_horizontal" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/num"
android:layout_gravity="center_horizontal" />
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list" />
</LinearLayout>
Stu
public class Stu {
public int ID;
public String NAME;
}