我想为比赛制作一个应用......但我现在卡住了! 我想创建一个类似于字典的应用程序,它有许多屏幕(最多1000个)。 如何在不进行如此多活动的情况下为特定数据制作这么多屏幕? 如果我去做1000活动,会发生什么?
答案 0 :(得分:0)
如果您的意思是100张图片列表视图,则此链接可能有助于https://www.simplifiedcoding.net/android-feed-example-using-php-mysql-volley/
答案 1 :(得分:0)
您应该修复应用的布局并更改数据(使用适当的数据库),而不是每次都更改屏幕。
答案 2 :(得分:0)
您应该将Activity
视为用户在您的应用中执行的操作,而不是屏幕的具体内容。因此,在您的词典应用程序中,您可能只需要两个活动:一个列出所有单词,另一个表示所选单词的定义。
假设您要创建DefinitionActivity
来显示单词的定义。您可能已将数据保存在某处,或者可以从互联网上下载,或者其他任何内容。重要的是,您可以通过主要活动将该单词显示在此活动中。你可以这样写:
public class DefinitionActivity extends AppCompatActivity {
public static final String EXTRA_SELECTED_WORD = "DefinitionActivity.EXTRA_SELECTED_WORD";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.definition_activity);
String selectedWord = getIntent().getStringExtra(EXTRA_SELECTED_WORD);
String definition = // load your definition, or pass it to the intent like above
TextView wordView = (TextView) findViewById(R.id.word);
wordView.setText(selectedWord);
TextView definitionView = (TextView) findViewById(R.id.definition);
definitionView.setText(definition);
}
}
从主活动开始此活动时,您可以传递选定的单词:
public void launchDefinition(String word) {
Intent intent = new Intent(MainActivity.this, DefinitionActivity.class);
intent.putExtra(DefinitionActivity.EXTRA_SELECTED_WORD, word);
startActivity(intent);
}
现在您有一个活动可以显示任何单词的定义。无需为字典中的每个单词创建单独的活动。