- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我读了很多关于这种情况的帖子,但我找不到我错在哪里,我需要你的帮助和建议:)
我尝试制作 popoverView 显示搜索结果。用户发布搜索 key 。我必须解析从 Web 服务返回的 json 对象,并在 popoverView 中显示结果。我不认为问题出在我的 parseJson 类中,因为当我只尝试 parseJson 类时,它工作得很好,所以我不考虑这里。
ParseJsonSearchItem 是解析类,SearchAdapter 是成本适配器类。
我花了2天的时间,但我没有任何解决方案,请帮助我?
注意:抱歉我的英语。
这是 setAdapter 的主要 Activity 。
package com.ip_dergi;
import org.brickred.socialauth.android.DialogListener;
import org.brickred.socialauth.android.SocialAuthAdapter;
import org.brickred.socialauth.android.SocialAuthAdapter.Provider;
import org.brickred.socialauth.android.SocialAuthError;
import org.brickred.socialauth.android.SocialAuthListener;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Point;
import android.graphics.Typeface;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.view.Display;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;
import android.widget.Toast;
import com.daniel.lupianez.casares.PopoverView;
import com.daniel.lupianez.casares.PopoverView.PopoverViewDelegate;
import com.ip_dergi.loader.ImageLoader;
import com.ip_dergi.utils.ParseJsonSearchItem;
import com.ip_dergi.utils.SearchAdapter;
import com.ip_dergi.utils.Singleton;
import com.ip_dergi.utils.Singleton1;
import com.ip_dergi.utils.Typefaces;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
//içerik göstermek için içinde textVİew image view falan olacak
public class ItemContent extends Activity implements View.OnClickListener,
PopoverViewDelegate, OnItemClickListener, OnEditorActionListener {
TextView contentTxt, contentHeader;
ImageView contentİmage;
Intent intent;
private Typefaces typeFaceTwitter;
Typeface KlavikaMedium, KlavikaRegular;
View menuButton;
Button shareButton;
View videoButton, backButton;
TextView contentCategoryName;
EditText searchEditText;
ImageButton searcButton;
SlidingMenu smenu;
ListView lvSliding, lvSearch;
PopoverView popoverView;
boolean sendEmail = false, twittera = false, searchEditTextVisible = false;
int screenWidth, screenHeight;
ParseJsonSearchItem parseJsonSearchItem;
SearchAdapter searchAdapter;
private SocialAuthAdapter adapter;
private StringBuilder message;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// getWindow().requestFeature(Window.FEATURE_ACTION_BAR);
setContentView(R.layout.activity_item_content);
getScreenDimensions();
// ------------------------------------- slidingMenu
smenu = new SlidingMenu(this);
smenu.setMode(SlidingMenu.LEFT);
smenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
smenu.setShadowWidth(25);
smenu.setFadeDegree(0.0f);
smenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
smenu.setBehindWidth(250);
smenu.setMenu(R.layout.sliding_menu1);
lvSliding = (ListView) findViewById(R.id.listView_sliding_menu);
lvSliding.setOnItemClickListener(this);
Singleton b = Singleton.getInstance();
ListAdapter adapter1 = new SimpleAdapter(ItemContent.this,
b.getContentCategoryName(), R.layout.list_item, new String[] {
"catName", "id" }, new int[] { R.id.categoryName,
R.id.categoryID });
lvSliding.setAdapter(adapter1);
//--------------------------------------
// ----------------------------------------------- social login
adapter = new SocialAuthAdapter(new ResponseListener());
adapter.addProvider(SocialAuthAdapter.Provider.FACEBOOK,
R.drawable.white_color);
message = new StringBuilder();
//-------------------------------------------------
lvSearch = (ListView) findViewById(R.id.search_item_listview);
searchAdapter = new SearchAdapter(this, getApplication());
lvSearch.setAdapter(searchAdapter); // ***SETADAPTER HERE***
searchEditText = (EditText) findViewById(R.id.searchEditText);
searchEditText.setOnEditorActionListener(this);
menuButton = (View) findViewById(R.id.menuButton);
menuButton.setOnClickListener(this);
shareButton = (Button) findViewById(R.id.share_button_view);
shareButton.setOnClickListener(this);
videoButton = (View) findViewById(R.id.video_button_view);
videoButton.setOnClickListener(this);
backButton = (View) findViewById(R.id.back_button_view);
backButton.setOnClickListener(this);
searcButton = (ImageButton) findViewById(R.id.searchButton);
searcButton.setOnClickListener(this);
KlavikaMedium = Typeface.createFromAsset(getAssets(),
"font/Klavika-Medium.otf");
KlavikaRegular = Typeface.createFromAsset(getAssets(),
"font/KlavikaRegular-Plain.otf");
typeFaceTwitter = new Typefaces();
contentTxt = (TextView) findViewById(R.id.item_content_txt);
contentTxt.setTypeface(KlavikaRegular);
contentHeader = (TextView) findViewById(R.id.item_content_header);
contentHeader.setTypeface(KlavikaMedium);
contentİmage = (ImageView) findViewById(R.id.item_content_image);
contentCategoryName = (TextView) findViewById(R.id.contentCategoryName);
intent = getIntent();
contentHeader.setText(intent.getStringExtra("contentHeader"));
contentTxt.setText(intent.getStringExtra("contentTxt"));
contentCategoryName.setText(intent
.getStringExtra("contentCategoryName"));
ImageLoader imgLoader = new ImageLoader(ItemContent.this);
imgLoader.DisplayImage(intent.getStringExtra("contentİmageUrl"),
R.anim.progress_anim, contentİmage);
}
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
switch (view.getId()) {
case R.id.searchButton:
if (searchEditTextVisible == false) {
searchEditText.setVisibility(View.VISIBLE);
searchEditTextVisible = true;
} else {
searchEditText.setVisibility(View.GONE);
searchEditText.setText("");
searchEditTextVisible = false;
}
break;
case R.id.menuButton:
smenu.toggle();
break;
case R.id.back_button_view:
finish();
break;
case R.id.video_button_view:
break;
case R.id.share_button_view:
popoverViewShare(view);
TextView faceText = (TextView) popoverView
.findViewById(R.id.facebookButton);
faceText.setTypeface(KlavikaMedium);
faceText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
authorize(Provider.FACEBOOK);
}
});
TextView twitText = (TextView) popoverView
.findViewById(R.id.twitterButton);
twitText.setTypeface(typeFaceTwitter.get(getApplicationContext(),
"font/PICOBLA_.TTF"));
twitText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "click twitter",
Toast.LENGTH_LONG).show();
}
});
TextView emailText = (TextView) popoverView
.findViewById(R.id.emailButton);
emailText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
sendEmail();
if (sendEmail == false) {
Log.d("sendEmail", "faild");
} else {
Log.d("sendEmail", "succes");
sendEmail = false;
}
}
});
Log.d("ıtemContent", "share button press");
break;
default:
break;
}
}
private void authorize(final Provider provider) {
adapter.authorize(ItemContent.this, provider);
Toast.makeText(getApplicationContext(), "connect facebook",
Toast.LENGTH_SHORT).show();
}
private void sendEmail() {
final Intent intentEmail = new Intent(Intent.ACTION_SEND);
intentEmail.setType("text/plain");
intentEmail.putExtra(Intent.EXTRA_SUBJECT,
intent.getStringExtra("contentHeader"));
intentEmail.putExtra(Intent.EXTRA_TEXT,
intent.getStringExtra("contentTxt"));
startActivity(Intent.createChooser(intentEmail, "Send Email"));
sendEmail = true;
}
private final class ResponseListener implements DialogListener {
@Override
public void onCancel() {
}
@Override
public void onBack() {
}
@Override
public void onComplete(final Bundle values) {
if (message.length() >= 0) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.permitAll().build();
StrictMode.setThreadPolicy(policy);
if (adapter.getCurrentProvider().getProviderId()
.equalsIgnoreCase("facebook")) {
adapter.updateStory("Ip Dergi tarafından gönderildi",
intent.getStringExtra("contentHeader"), "",
intent.getStringExtra("contentTxt"), "",
intent.getStringExtra("contentİmageUrl"),
new MessageListener());
Log.d("send", "facebook");
} else
adapter.updateStatus(message.toString(),
new MessageListener(), false);
}
}
@Override
public void onError(SocialAuthError socialAuthError) {
}
private final class MessageListener implements
SocialAuthListener<Integer> {
@Override
public void onExecute(String provider, Integer status) {
if (status == 200 || status == 201 || status == 204)
Toast.makeText(ItemContent.this,
"gönderildi : " + provider, Toast.LENGTH_LONG)
.show();
else
Toast.makeText(ItemContent.this,
"Gönderilemedi" + provider, Toast.LENGTH_LONG)
.show();
}
@Override
public void onError(SocialAuthError e) {
}
}
}
@Override
public void popoverViewWillShow(PopoverView view) {
// TODO Auto-generated method stub
}
@Override
public void popoverViewDidShow(PopoverView view) {
// TODO Auto-generated method stub
}
@Override
public void popoverViewWillDismiss(PopoverView view) {
// TODO Auto-generated method stub
}
@Override
public void popoverViewDidDismiss(PopoverView view) {
// TODO Auto-generated method stub
}
public void getScreenDimensions() {
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
screenWidth = size.x;
screenHeight = size.y;
Toast.makeText(
getApplicationContext(),
"width" + Integer.toString(screenWidth) + "heigt"
+ Integer.toString(screenHeight), Toast.LENGTH_LONG)
.show();
}
public void popoverViewShare(View view) {
RelativeLayout rootPopoView = (RelativeLayout) findViewById(R.id.content_item_layout);
popoverView = new PopoverView(this, R.layout.share_item);
popoverView.setContentSizeForViewInPopover(new Point(250, 250));
popoverView.setDelegate(this);
popoverView.showPopoverFromRectInViewGroup(rootPopoView,
popoverView.getFrameForView(view),
popoverView.PopoverArrowDirectionDown, true);
}
public void popoverViewSearch(View view) {
RelativeLayout rootPopoView = (RelativeLayout) findViewById(R.id.content_item_layout);
popoverView = new PopoverView(this, R.layout.search_result_listview);
if (screenHeight > screenWidth) {
popoverView.setContentSizeForViewInPopover(new Point(
screenWidth - 100, screenHeight / 2));
} else {
popoverView.setContentSizeForViewInPopover(new Point(
screenWidth / 2, screenHeight));
}
popoverView.showPopoverFromRectInViewGroup(rootPopoView,
popoverView.getFrameForView(view),
popoverView.PopoverArrowDirectionUp, true);
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long İd) {
// TODO Auto-generated method stub
switch (parent.getId()) {
case R.id.listView_sliding_menu:
Singleton1 x = Singleton1.getInstance();
x.setContentItemSelection(((TextView) view
.findViewById(R.id.categoryID)).getText().toString());
Log.d("ıtemContent",
((TextView) view.findViewById(R.id.categoryID)).getText()
.toString());
finish();
break;
default:
break;
}
}
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
View searchView = findViewById(R.id.searchButton);
// TODO Auto-generated method stub
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Toast.makeText(getApplicationContext(), searchEditText.getText(),
Toast.LENGTH_LONG).show();
if (searchEditText != null) {
String searchKey = searchEditText.getText().toString();
popoverViewSearch(searchView);
parseJsonSearchItem = new ParseJsonSearchItem(ItemContent.this,
this.getApplication(),searchAdapter);
parseJsonSearchItem.execute(searchKey);
}
return true;
}
return false;
}
}
适配器类扩展了baseAdapter
package com.ip_dergi.utils;
import java.util.ArrayList;
import android.app.Application;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.ip_dergi.R;
import com.ip_dergi.loader.ImageLoader;
public class SearchAdapter extends BaseAdapter {
private Context mContext;
private Application mApplication;
private ArrayList<Utils> mUtilsArraylist = new ArrayList<Utils>();
public SearchAdapter(Context con, Application app) {
this.mContext = con;
this.mApplication = app;
}
public void GetMoreItem(ArrayList<Utils> arrayList) {
mUtilsArraylist = arrayList;
notifyDataSetChanged();
}
@Override
public int getCount() {
return mUtilsArraylist == null ? 0 : mUtilsArraylist.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = null;
final Utils utils=mUtilsArraylist.get(position);
String searchImageUrl=utils.searchImageUrl;
if (convertView == null) {
SearchHolder holder = new SearchHolder();
view = View.inflate(mContext, R.layout.search_row_item, null);
holder.searchImageArea = (ImageView) view
.findViewById(R.id.searchImage);
holder.searchTextArea = (TextView) view
.findViewById(R.id.searchDesc);
holder.searchDateArea = (TextView) view
.findViewById(R.id.searchDate);
holder.searchCategoryArea = (TextView) view
.findViewById(R.id.searchCategory);
view.setTag(holder);
} else {
return convertView;
}
final SearchHolder searchHolder= (SearchHolder) view.getTag();
searchHolder.searchCategoryArea.setText(utils.searchContentCategory);
searchHolder.searchDateArea.setText(utils.searchContentDate);
searchHolder.searchTextArea.setText(utils.searchTextDesc);
ImageLoader searchImageLoader= new ImageLoader(mApplication);
searchImageLoader.DisplayImage(searchImageUrl, searchHolder.searchImageArea);
return view;
}
public class SearchHolder {
ImageView searchImageArea;
TextView searchTextArea;
TextView searchDateArea;
TextView searchCategoryArea;
}
}
现在布局
search_result_listview.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/search_item_listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" >
</ListView>
</RelativeLayout>
search_row_item.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="15dp"
android:background="@color/white"
android:minHeight="70dp"
android:id="@+id/search_listview_row">
<ImageView
android:id="@+id/searchImage"
android:layout_width="150dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:background="@color/gray"
android:scaleType="fitXY" />
<TextView
android:id="@+id/searchDesc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginLeft="17dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/searchImage"
android:text="Some text"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/searchCategory"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/searchDesc"
android:layout_centerVertical="true"
android:layout_marginLeft="17dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@+id/searchImage"
android:text="Some text"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/searchDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/searchCategory"
android:layout_marginLeft="17dp"
android:layout_toRightOf="@+id/searchImage"
android:text="Some text"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
最后是错误消息
10-03 04:44:26.201: E/ViewRootImpl(20281): sendUserActionEvent() mView == null
10-03 04:44:29.431: E/AndroidRuntime(20281): FATAL EXCEPTION: main
10-03 04:44:29.431: E/AndroidRuntime(20281): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.ip_dergi/com.ip_dergi.ItemContent}: java.lang.NullPointerException
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2295)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread.access$700(ActivityThread.java:150)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1280)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.os.Handler.dispatchMessage(Handler.java:99)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.os.Looper.loop(Looper.java:137)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread.main(ActivityThread.java:5279)
10-03 04:44:29.431: E/AndroidRuntime(20281): at java.lang.reflect.Method.invokeNative(Native Method)
10-03 04:44:29.431: E/AndroidRuntime(20281): at java.lang.reflect.Method.invoke(Method.java:511)
10-03 04:44:29.431: E/AndroidRuntime(20281): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
10-03 04:44:29.431: E/AndroidRuntime(20281): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
10-03 04:44:29.431: E/AndroidRuntime(20281): at dalvik.system.NativeStart.main(Native Method)
10-03 04:44:29.431: E/AndroidRuntime(20281): Caused by: java.lang.NullPointerException
10-03 04:44:29.431: E/AndroidRuntime(20281): at com.ip_dergi.ItemContent.onCreate(ItemContent.java:115)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.Activity.performCreate(Activity.java:5267)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
10-03 04:44:29.431: E/AndroidRuntime(20281): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2209)
10-03 04:44:29.431: E/AndroidRuntime(20281): ... 11 more
最佳答案
我来猜猜(你确实需要回答前面的问题:第 115 行在哪里)。
在getView中,当convertView为null时,你可以正确地膨胀一个新 View :
if (convertView == null) {
SearchHolder holder = new SearchHolder();
view = View.inflate(mContext, R.layout.search_row_item, null);
...
} else {
return convertView;
}
然后进行更多初始化。我怀疑非空情况也需要进行初始化。例如,当convertView为空时,您从数组中获取“utils”并将其用于某些初始化。但是当您重用convertView时,您似乎保留了旧值,这些值属于旧“位置”,而不是当前位置。
关于java - listView setAdapter空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19149653/
我正在编写一个具有以下签名的 Java 方法。 void Logger(Method method, Object[] args); 如果一个方法(例如 ABC() )调用此方法 Logger,它应该
我是 Java 新手。 我的问题是我的 Java 程序找不到我试图用作的图像文件一个 JButton。 (目前这段代码什么也没做,因为我只是得到了想要的外观第一的)。这是我的主课 代码: packag
好的,今天我在接受采访,我已经编写 Java 代码多年了。采访中说“Java 垃圾收集是一个棘手的问题,我有几个 friend 一直在努力弄清楚。你在这方面做得怎么样?”。她是想骗我吗?还是我的一生都
我的 friend 给了我一个谜语让我解开。它是这样的: There are 100 people. Each one of them, in his turn, does the following
如果我将使用 Java 5 代码的应用程序编译成字节码,生成的 .class 文件是否能够在 Java 1.4 下运行? 如果后者可以工作并且我正在尝试在我的 Java 1.4 应用程序中使用 Jav
有关于why Java doesn't support unsigned types的问题以及一些关于处理无符号类型的问题。我做了一些搜索,似乎 Scala 也不支持无符号数据类型。限制是Java和S
我只是想知道在一个 java 版本中生成的字节码是否可以在其他 java 版本上运行 最佳答案 通常,字节码无需修改即可在 较新 版本的 Java 上运行。它不会在旧版本上运行,除非您使用特殊参数 (
我有一个关于在命令提示符下执行 java 程序的基本问题。 在某些机器上我们需要指定 -cp 。 (类路径)同时执行java程序 (test为java文件名与.class文件存在于同一目录下) jav
我已经阅读 StackOverflow 有一段时间了,现在我才鼓起勇气提出问题。我今年 20 岁,目前在我的家乡(罗马尼亚克卢日-纳波卡)就读 IT 大学。足以介绍:D。 基本上,我有一家提供簿记应用
我有 public JSONObject parseXML(String xml) { JSONObject jsonObject = XML.toJSONObject(xml); r
我已经在 Java 中实现了带有动态类型的简单解释语言。不幸的是我遇到了以下问题。测试时如下代码: def main() { def ks = Map[[1, 2]].keySet()
一直提示输入 1 到 10 的数字 - 结果应将 st、rd、th 和 nd 添加到数字中。编写一个程序,提示用户输入 1 到 10 之间的任意整数,然后以序数形式显示该整数并附加后缀。 public
我有这个 DownloadFile.java 并按预期下载该文件: import java.io.*; import java.net.URL; public class DownloadFile {
我想在 GUI 上添加延迟。我放置了 2 个 for 循环,然后重新绘制了一个标签,但这 2 个 for 循环一个接一个地执行,并且标签被重新绘制到最后一个。 我能做什么? for(int i=0;
我正在对对象 Student 的列表项进行一些测试,但是我更喜欢在 java 类对象中创建硬编码列表,然后从那里提取数据,而不是连接到数据库并在结果集中选择记录。然而,自从我这样做以来已经很长时间了,
我知道对象创建分为三个部分: 声明 实例化 初始化 classA{} classB extends classA{} classA obj = new classB(1,1); 实例化 它必须使用
我有兴趣使用 GPRS 构建车辆跟踪系统。但是,我有一些问题要问以前做过此操作的人: GPRS 是最好的技术吗?人们意识到任何问题吗? 我计划使用 Java/Java EE - 有更好的技术吗? 如果
我可以通过递归方法反转数组,例如:数组={1,2,3,4,5} 数组结果={5,4,3,2,1}但我的结果是相同的数组,我不知道为什么,请帮助我。 public class Recursion { p
有这样的标准方式吗? 包括 Java源代码-测试代码- Ant 或 Maven联合单元持续集成(可能是巡航控制)ClearCase 版本控制工具部署到应用服务器 最后我希望有一个自动构建和集成环境。
我什至不知道这是否可能,我非常怀疑它是否可能,但如果可以,您能告诉我怎么做吗?我只是想知道如何从打印机打印一些文本。 有什么想法吗? 最佳答案 这里有更简单的事情。 import javax.swin
我是一名优秀的程序员,十分优秀!