Anonymous
Как добавить активность на Fragment Android
Сообщение
Anonymous » 11 янв 2026, 11:04
Это пример моего кода. Я хочу создать новое приложение и скопировать код из предыдущего проекта, но получаю ошибку.
HomeFragment.java (из скользящего меню)
Код: Выделить всё
package com.example.sia;
import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class HomeFragment extends Fragment {
public HomeFragment(){}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
return rootView;
}
}
Account.java
Код: Выделить всё
package com.example.sia2;
import java.util.HashMap;
import org.json.JSONArray;
import android.os.Bundle;
import android.app.Activity;
import android.text.Html;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class Account extends Activity {
Button logout;
SessionManager session;
TextView status;
JSONArray contacts = null;
String nim, name;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_account);
session = new SessionManager(getApplicationContext());
Toast.makeText(getApplicationContext(),
"User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG)
.show();
session.checkLogin();
HashMap user = session.getUserDetails();
name = user.get(SessionManager.KEY_NAME);
// id = user.get(SessionManager.KEY_ID);
TextView status = (TextView) findViewById(R.id.status);
status.setText(Html.fromHtml("Welcome," + name + "[/b] "));[b]
logout = (Button) findViewById(R.id.logout);
logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
session.logoutUser();
finish();
}
});
}
}
Объединяю код
Код: Выделить всё
package com.example.sia;
import java.util.HashMap;
import org.json.JSONArray;
import com.example.sia.R;
import com.example.sia.SessionManager;
import android.app.Fragment;
import android.os.Bundle;
import android.text.Html;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class HomeFragment extends Fragment {
Button logout;
SessionManager session;
TextView status;
JSONArray contacts = null;
String nim, name;
public HomeFragment(){}
@Override
/**public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_account);**/
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
session = new SessionManager(getActivity().getApplicationContext());
Toast.makeText(getActivity().getApplicationContext(),"User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG).show();
session.checkLogin();
HashMap user = session.getUserDetails();
name = user.get(SessionManager.KEY_NAME);
// id = user.get(SessionManager.KEY_ID);
TextView status = (TextView) getView().findViewById(R.id.status);
status.setText(Html.fromHtml("Welcome," + name + "[/b] "));
logout = (Button) getView().findViewById(R.id.logout);
logout.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View arg0)
{
// TODO Auto-generated method stub
session.logoutUser();
getActivity().finish();
}
});
return rootView;
}
}
/*public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
return rootView;
}*/
Я могу запустить приложение, но когда я открываю фрагмент_home.xml, оно не отвечает
Спасибо
Подробнее здесь:
https://stackoverflow.com/questions/235 ... nt-android
1768118655
Anonymous
Это пример моего кода. Я хочу создать новое приложение и скопировать код из предыдущего проекта, но получаю ошибку.[b] HomeFragment.java (из скользящего меню) [code]package com.example.sia; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; public class HomeFragment extends Fragment { public HomeFragment(){} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_home, container, false); return rootView; } } [/code] Account.java [code]package com.example.sia2; import java.util.HashMap; import org.json.JSONArray; import android.os.Bundle; import android.app.Activity; import android.text.Html; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class Account extends Activity { Button logout; SessionManager session; TextView status; JSONArray contacts = null; String nim, name; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_account); session = new SessionManager(getApplicationContext()); Toast.makeText(getApplicationContext(), "User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG) .show(); session.checkLogin(); HashMap user = session.getUserDetails(); name = user.get(SessionManager.KEY_NAME); // id = user.get(SessionManager.KEY_ID); TextView status = (TextView) findViewById(R.id.status); status.setText(Html.fromHtml("Welcome," + name + "[/b] "));[b] logout = (Button) findViewById(R.id.logout); logout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub session.logoutUser(); finish(); } }); } } [/code] Объединяю код [code]package com.example.sia; import java.util.HashMap; import org.json.JSONArray; import com.example.sia.R; import com.example.sia.SessionManager; import android.app.Fragment; import android.os.Bundle; import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class HomeFragment extends Fragment { Button logout; SessionManager session; TextView status; JSONArray contacts = null; String nim, name; public HomeFragment(){} @Override /**public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_my_account);**/ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_home, container, false); session = new SessionManager(getActivity().getApplicationContext()); Toast.makeText(getActivity().getApplicationContext(),"User Login Status: " + session.isLoggedIn(), Toast.LENGTH_LONG).show(); session.checkLogin(); HashMap user = session.getUserDetails(); name = user.get(SessionManager.KEY_NAME); // id = user.get(SessionManager.KEY_ID); TextView status = (TextView) getView().findViewById(R.id.status); status.setText(Html.fromHtml("Welcome," + name + "[/b] ")); logout = (Button) getView().findViewById(R.id.logout); logout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub session.logoutUser(); getActivity().finish(); } }); return rootView; } } /*public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_home, container, false); return rootView; }*/ [/code] Я могу запустить приложение, но когда я открываю фрагмент_home.xml, оно не отвечает Спасибо Подробнее здесь: [url]https://stackoverflow.com/questions/23589604/how-to-add-activity-on-fragment-android[/url]