gpt4 book ai didi

java - Android - 通过另一个类向 String[] 添加值

转载 作者:行者123 更新时间:2023-12-01 13:15:40 26 4
gpt4 key购买 nike

我在从另一个类向 String[] 数组添加值时遇到问题。我想做的是通过 MyDatabaseAdapter.java 类从数据库将值添加到我的 MainScreenEntered.java 类。

请帮忙。

这是我的代码。

MainScreenentered.java

public class MainScreenEntered extends Activity implements OnItemClickListener{
@SuppressLint("NewApi")
ListView lv;
List<RowItem> rowItems;
MyDatabaseAdapter mh;
String username;
ListView listViewSMS;
Cursor cursor;
Context context;

public static String[] names = new String[] {};
public static String[] descriptions = new String[] {};
public static String[] pics = new String[] {};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_screen_entered);
mh = new MyDatabaseAdapter(this);
Bundle bundle = this.getIntent().getExtras();
username = bundle.getString("username");
Message.message(this, username);

try
{
mh.getDataToDatabase();

rowItems = new ArrayList<RowItem>();

for(int i =0; i< names.length; i++)
{
RowItem item = new RowItem(pics[i], names[i], descriptions[i]);
rowItems.add(item);
}

lv = (ListView)findViewById(R.id.lvEntries);
CustomListViewAdapter adapter = new CustomListViewAdapter(this, R.layout.list_layout,rowItems);
lv.setAdapter(adapter);
lv.setOnItemClickListener(this);
}
catch(Exception e)
{
Message.message(this, ""+e);
}




}
}

MyDatabaseAdapter.java

public class MyDatabaseAdapter {
MyHelper helper;

public MyDatabaseAdapter (Context context)
{
helper = new MyHelper(context);

}


public void getDataToDatabase()
{
MainScreenEntered ms = new MainScreenEntered();
SQLiteDatabase db = helper.getWritableDatabase();
String columns[] = {MyHelper.ENTRY_FULLNAME,MyHelper.ENTRY_DESCRIPTION,MyHelper.ENTRY_IMAGE};
Cursor c=db.query(MyHelper.TABLE_ENTRIES, columns, null, null, null, null, null);

int i=0;
while(c.moveToNext())
{
String name = c.getString(0);
String desc = c.getString(1);
String pic = c.getString(2);

ms.names[i] = name;
ms.descriptions[i] = desc;
ms.pics[i] = pic;

i++;
}
db.close();
}
}

最佳答案

你可以这样做

in onCreate
mh = new MyDatabaseAdapter(this,this);

现在

public class MyDatabaseAdapter {
MyHelper helper;
MainScreenEntered ms;

public MyDatabaseAdapter (Context context, MainScreenEntered ms)
{
helper = new MyHelper(context);
this.ms = ms;

}
public void getDataToDatabase()
{
SQLiteDatabase db = helper.getWritableDatabase();
String columns[] = {MyHelper.ENTRY_FULLNAME,MyHelper.ENTRY_DESCRIPTION,MyHelper.ENTRY_IMAGE};
Cursor c=db.query(MyHelper.TABLE_ENTRIES, columns, null, null, null, null, null);

int i=0;
while(c.moveToNext())
{
String name = c.getString(0);
String desc = c.getString(1);
String pic = c.getString(2);

ms.names[i] = name;
ms.descriptions[i] = desc;
ms.pics[i] = pic;

i++;
}
db.close();
}
}

关于java - Android - 通过另一个类向 String[] 添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22496119/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com