我正在尝试创建一个包含不同主题和问题页面的应用。我创造了大约两个活动,即将创造更多活动,比如40个活动。如何在不创建这么多活动的情况下做到这一点?
这是我的MainActivity.java代码
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private Context context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Declare the text view id
mListView = (ListView) findViewById(R.id.myList);
//Adding text to the array list
String booksArray[] = new String[]{"General Questions", "Mathematics",
"Physics",
"Chemistry",
"English"};
//Initialize the array list in the adapter
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout
.simple_list_item_1, booksArray);
mListView.setAdapter(adapter);
//Set the listener for the list view item
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//if the position of item clicked is 1, it should open
//another activity
if(position == 1 ){
conditionOfIf();
}
else{
//A short message that notify user for an error
Toast.makeText(getApplicationContext(), "Please click on the first objcet",
Toast.LENGTH_LONG)
.show();}
}
});
}
//The real code that open another activity called Topics
private void conditionOfIf(){
Intent intent = new Intent(this, Topics.class);
startActivity(intent);
}
}
答案 0 :(得分:0)
使用片段。 对于学习片段,请访问谷歌或YouTube视频。 有许多在线资源可供使用。
答案 1 :(得分:0)
Fragments是你的答案。你可以创建40个片段,并且只有一个活动来管理这些片段。 关于片段的最好的事情是你可以使用相同的UI用于多种目的,即重用能力,因为你有大量的布局可能会派上用场。
我认为这将是一个伟大的Fragment tutorial开始,它很容易理解,但足够强大,可以教你基本面。